Code Comments
Programming Forum and web based access to our favorite programming groups.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.
Post Follow-up to this messageLonnie 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
Post Follow-up to this messageNo 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.
Post Follow-up to this messagePowered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.