For the following Python code:
fp = open('output.txt', 'wb')
# Very big file, writes a lot of lines, n is a very large number
for i in range(1, n):
fp.write('something' * n)
fp.close()
The writing process above can last more than 30 min. Sometimes I get the error MemoryError. Is the content of the file before closing stored in memory or written in a temp file? If it’s in a temporary file, what is its general location on a Linux OS?
Edit:
Added fp.write in a for loop
It’s stored in the operating system’s disk cache in memory until it is flushed to disk, either implicitly due to timing or space issues, or explicitly via
fp.flush().