Code Comments

Programming Forum and web based access to our favorite programming groups.
For Programmers: Free Programming Magazines
Registration is free! Edit your profileCalendarFind other membersFrequently Asked QuestionsSearch -> 
Post New Thread











Thread
Author

module file length limitations on windows?
I've run into some eccentric behavior...  It appears that one of my
modules is being cut off at exactly 2^14 characters when I try to
import it.  Has anyone else encountered this?  I can't find any mention
of such a bug, and stranger yet, other modules that exceed 16384
characters seem to work just fine.

In particular, suppose that my module foo.py contains the following as
its last line:

thing = "goodbye world"

Now, suppose that the length of the file is 16383 characters.  It works
just fine:

Python 2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information. 

But if I make the string longer, it explodes:

thing = "goodbye world spam spam spam spam spam"

Python 2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information. 
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "foo.py", line 583
thing = "goodbye world sp
^
SyntaxError: EOL while scanning single-quoted string


What in the world is going on here?!

This happens with Python 2.4 and 2.3.4 on win2k (under vmware), but it
does _not_ happen with 2.3.4 on Linux.   Very strange!  Could vmware be
the problem?

I have also tried replacing my unix newlines with DOS \r\n with the
exact same result.

I don't want to spend much time on this, since the workaround of
splitting the code into smaller files works just fine, but wow.. weird.


Report this thread to moderator Post Follow-up to this message
Old Post
Lonnie Princehouse
12-16-04 09:06 PM


Re: module file length limitations on windows?
Lonnie Princehouse wrote:

> I've run into some eccentric behavior...  It appears that one of my
> modules is being cut off at exactly 2^14 characters when I try to
> import it.  Has anyone else encountered this?  I can't find any mention
> of such a bug, and stranger yet, other modules that exceed 16384
> characters seem to work just fine.
>
> In particular, suppose that my module foo.py contains the following as
> its last line:
>
> thing = "goodbye world"
>
> Now, suppose that the length of the file is 16383 characters.  It works
> just fine:
>
> Python 2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)] on
> win32
> Type "help", "copyright", "credits" or "license" for more information.
> 
>
>
> But if I make the string longer, it explodes:
>
> thing = "goodbye world spam spam spam spam spam"
>
> Python 2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)] on
> win32
> Type "help", "copyright", "credits" or "license" for more information.
> 
>
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> File "foo.py", line 583
> thing = "goodbye world sp
> ^
> SyntaxError: EOL while scanning single-quoted string
>
>
> What in the world is going on here?!
>
> This happens with Python 2.4 and 2.3.4 on win2k (under vmware), but it
> does _not_ happen with 2.3.4 on Linux.   Very strange!  Could vmware be
> the problem?
>
> I have also tried replacing my unix newlines with DOS \r\n with the
> exact same result.
>
> I don't want to spend much time on this, since the workaround of
> splitting the code into smaller files works just fine, but wow.. weird.
>
As a further data point, it doesn't appear to happen under Cygwin with
2.4 either:

sholden@dellboy ~
$ wc module.py
8177       2    8191 module.py

sholden@dellboy ~
$ python
Python 2.4 (#1, Dec  4 2004, 20:10:33)
[GCC 3.3.3 (cygwin special)] on cygwin
Type "help", "copyright", "credits" or "license" for more information. 
hello 

sholden@dellboy ~
$ vi module.py

sholden@dellboy ~
$ wc module.py
8177       5    8206 module.py

sholden@dellboy ~
$ python
Python 2.4 (#1, Dec  4 2004, 20:10:33)
[GCC 3.3.3 (cygwin special)] on cygwin
Type "help", "copyright", "credits" or "license" for more information. 
hello spam spam spam

Is it possible you've somehow inserted non-printing characters? Seems
bizarrely improbable to me that 2^14 would be a significant boundary to
the interpreter.

regards
Steve
--
Steve Holden               http://www.holdenweb.com/
Python Web Programming  http://pydish.holdenweb.com/
Holden Web LLC      +1 703 861 4237  +1 800 494 3119

Report this thread to moderator Post Follow-up to this message
Old Post
Steve Holden
12-16-04 09:07 PM


Re: module file length limitations on windows?
No non-printing characters.

However, I just tried copying the file (from a windows cmd prompt), and
the copy was cut off at the same point the interpreter is getting to.
When I edit the file with vim, though, the whole thing comes through.
I think this is a pretty strong indication that this monkey-business is
happening either in Windows or in vmware, and has nothing to do with
Python.

Confirmed.  I rebooted the (virtual) machine and the problem is gone.
Weird.


Report this thread to moderator Post Follow-up to this message
Old Post
Lonnie Princehouse
12-16-04 09:07 PM


Sponsored Links




Last Thread Next Thread Next
Search this forum -> 
Post New Thread

Python archive

Show a Printable Version Send to friend Email This Page to Someone! subscribe to this thread Receive updates to this thread
Computer Consultants
Programming Jobs
Visual Basic Controls
SQL Server Programming
Webservices
Java Security
Visual Studio
C# Programming
Visual J++
Software engineering
Open source Software
Perl Programming
PHP Programming
ASP Programming
ASP .NET Programming
Visual Basic Programming
Windows Scripting Host
Java Programming
Java Help
Java Beans
VBScript
Cobol
MAC Applications
Unix Programming
Forum Jump:
All times are GMT. The time now is 04:21 AM.

 

Programming forum archive

Copyrights CodeComments.com 2004 - 2006

Powered by vBulletin Copyright 2000-2006 Jelsoft Enterprises Limited.