Python 3.2 | WIndows 7 -- Multiprocessing and files not closing

Ned Batchelder ned at nedbatchelder.com
Thu Oct 10 14:41:05 EDT 2013


On 10/10/13 12:44 PM, Isaac Gerg wrote:
> Sorry, I am just providing pseudo code since I the code i have is quite large.
>
> As I mentioned, the code works fine when I remove the multirpcessing stuff so the filename is not the issue (though you are right in your correction).
>
> Someone with the same problem posted a smaller, more complete example here:
>
> http://stackoverflow.com/questions/948119/preventing-file-handle-inheritance-in-multiprocessing-lib
>
> None of the solutions posted work.

(BTW: it's better form to reply beneath the original text, not above it.)

None of the solutions try the obvious thing of closing the file before 
spawning more processes.  Would that work for you?  A "with" statement 
is a convenient way to do this:

     with open(filename,'r') as f:
         data = f.read()

The file is closed automatically when the with statement ends.

--Ned.

>
> On Thursday, October 10, 2013 12:38:19 PM UTC-4, Piet van Oostrum wrote:
>> Isaac Gerg <isaac.gerg at gergltd.com> writes:
>>
>>
>>
>>> I have a function that looks like the following:
>>
>>
>> That doesn't look like a function
>>
>>
>>
>>> #---------------------------------
>>> filename = 'c:\testfile.h5'
>>
>>
>> Your filename is most probably wrong. It should be something like:
>>
>>
>>
>> filename = 'c:/testfile.h5'
>>
>> filename = 'c:\\testfile.h5'
>>
>> filename = r'c:\testfile.h5'
>>
>> -- 
>>
>> Piet van Oostrum <piet at vanoostrum.org>
>>
>> WWW: http://pietvanoostrum.com/
>>
>> PGP key: [8DAE142BE17999C4]




More information about the Python-list mailing list