This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ned.deily
Recipients amaury.forgeotdarc, dgorbachev, ned.deily, ronaldoussoren
Date 2011-07-03.20:18:34
SpamBayes Score 3.0051905e-11
Marked as misclassified No
Message-id <1309724315.49.0.770156194486.issue12482@psf.upfronthosting.co.za>
In-reply-to
Content
The test case you've provide is working as expected but the code doesn't make a lot of sense as provided.  The function loadDbase sets sys.stdin to a disk file but never sets it back again.  If you run this in an interactive interpreter on any Unix-like system and call that function, it will leave sys.stdin still connected to the disk file which will give unexpected results.  I don't have a copy of the book so I don't know how the author recommends to run things but it won't work as it stands (also, the function loadDbase is incomplete compared with the book's example files).  You can remove the immediate problem by adding the following line just before the "return db" at the end of loadDbase:
    sys.stdin = sys.__stdin__
That will restore the original value of sys.stdin.

You may want to ask questions like this on either the tutor mailing list or comp.lang.python.

http://www.python.org/community/lists/ 

http://docs.python.org/library/sys.html#sys.__stdin__
History
Date User Action Args
2011-07-03 20:18:35ned.deilysetrecipients: + ned.deily, ronaldoussoren, amaury.forgeotdarc, dgorbachev
2011-07-03 20:18:35ned.deilysetmessageid: <1309724315.49.0.770156194486.issue12482@psf.upfronthosting.co.za>
2011-07-03 20:18:34ned.deilylinkissue12482 messages
2011-07-03 20:18:34ned.deilycreate