Мои знания о том, как работают файловые буферы, довольно слабые, так что простите за простоту этого вопроса.У меня есть фрагмент кода на Python, который ждет появления файла, а затем читает его.
while 1:
try:
f = open('file.txt')
f.close()
print "Message received."
break
except:
time.sleep(0.3)
Где file.txt
- файл, написанный другой программой.Однако у меня есть подозрение, что Python читает файл и затем закрывает дескриптор до того, как файл file.txt
будет полностью записан (то есть, прежде чем я даже вызову close()
в программе, которая пишет файл).Должно ли это вообще быть возможным?
Если это так, могу ли я определить (в программе чтения, указанной выше), были ли очищены буферы перед вызовом f.close()
?