open in for loop
- stat
- os.stat
Calling write
does not immediately write to disk. The Operating System provides buffering as an optimization
to avoid frequent access to the disk. In this case it means the file has not been saved before we already check its size.
import os
for ix in range(10):
filename = f'data{ix}.txt'
fh = open(filename, 'w')
fh.write('hello')
if ix == 0:
break
fh.close()
stat = os.stat(filename)
print(stat.st_size) # 0, the file has not been saved yet