I've noticed an oddity when running a program, using the csv module,
within IDLE.  I'm new to Python so am confused by what is happening.
Here is what I'm doing:

1) Open the IDLE Shell.
2) Select File | Open...
3) Choose my file, foo.py, opening it in a window.
4) From that window, I hit F5 to run the module.

Within the program, the snippet where I use the csv module is below:

==============================
csvfile = open('foo.csv', 'w')
writer = csv.writer(csvfile)

for row in rows:
    writer.writerow(row[0:3])

csvfile.close
==============================

The rows object is returned from a database query and is a list of
tuples.  Now here is the strange thing.  If I run this program
directly from the command line, i.e.,

D:\test> D:\python25\python foo.py

It runs fine, foo.csv is created and all is well.  However, when I run
it through the IDLE shell as described above, the foo.csv file is
created but remains empty at 0 bytes.  When I try to delete the file,
Windows says it is in use.  The only way I can break out of this is by
restarting the IDLE shell.  In other words, it appears that the shell
is hanging.

This will run through Task Scheduler, so shouldn't be a problem, but
I'm worried that I'm coding this wrong for it to be acting this way
under IDLE.  Any help or explanation would be appreciated.

Best Regards,
Tom
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to