get the size of a dynamically changing file fast ?
Stef Mientki
stef.mientki at gmail.com
Tue Jan 22 17:22:57 EST 2008
Mike Driscoll wrote:
> On Jan 22, 3:35 pm, Stef Mientki <stef.mien... at gmail.com> wrote:
>
>> Mike Driscoll wrote:
>>
>>> On Jan 17, 3:56 pm, Stef Mientki <stef.mien... at gmail.com> wrote:
>>>
>>>> hello,
>>>>
>>>> I've a program (not written in Python) that generates a few thousands
>>>> bytes per second,
>>>> these files are dumped in 2 buffers (files), at in interval time of 50 msec,
>>>> the files can be read by another program, to do further processing.
>>>>
>>>> A program written in VB or delphi can handle the data in the 2 buffers
>>>> perfectly.
>>>> Sometimes Python is also able to process the data correctly,
>>>> but often it can't :-(
>>>>
>>>> I keep one of the files open en test the size of the open datafile each
>>>> 50 msec.
>>>> I have tried
>>>> os.stat ( ....) [ ST_SIZE]
>>>> os.path.getsize ( ... )
>>>> but they both have the same behaviour, sometimes it works, and the data
>>>> is collected each 50 .. 100 msec,
>>>> sometimes 1 .. 1.5 seconds is needed to detect a change in filesize.
>>>>
>>>> I'm using python 2.4 on winXP.
>>>>
>>>> Is there a solution for this problem ?
>>>>
>>>> thanks,
>>>> Stef Mientki
>>>>
>>> Tim Golden has a method to watch for changes in a directory on his
>>> website:
>>>
>>> http://tgolden.sc.sabren.com/python/win32_how_do_i/watch_directory_fo...
>>>
>>> This old post also mentions something similar:
>>>
>>> http://mail.python.org/pipermail/python-list/2007-October/463065.html
>>>
>>> And here's a cookbook recipe that claims to do it as well using
>>> decorators:
>>>
>>> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/426620
>>>
>>> Hopefully that will get you going.
>>>
>>> Mike
>>>
>> thanks Mike,
>> sorry for the late reaction.
>> I've it working perfect now.
>> After all, os.stat works perfectly well,
>> the problem was in the program that generated the file with increasing
>> size,
>> by truncating it after each block write, it apperently garantees that
>> the file is flushed to disk and all problems are solved.
>>
>> cheers,
>> Stef Mientki
>>
>
> I almost asked if you were making sure you had flushed the data to the
> file...oh well.
>
Yes, that's a small disadavantage of using a "high-level" language,
where there's no flush available, and you assume it'll done
automatically ;-)
cheers,
Stef
More information about the Python-list
mailing list