W następnym Pythonie:Czy funkcja "open" w Pythonie zachowuje jej zawartość w pamięci lub w pliku tymczasowym?
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()
procesowych zapisu powyżej może trwać dłużej niż 30 minut. Czasami pojawia się błąd MemoryError
. Czy zawartość pliku przed zamknięciem jest przechowywana w pamięci lub zapisana w pliku tymczasowym? Jeśli znajduje się w pliku tymczasowym, jaka jest jego ogólna lokalizacja w systemie Linux?
Edit:
Dodany fp.write w pętli for
Czy faktycznie wydajesz wiele połączeń do 'fp.write', czy zbierasz je wszystkie w jednym dużym ciągu i wypisujesz jednocześnie? To drugie byłoby raczej nieefektywne. –
To wywołanie wielokrotnego zapisu w pętli for. –
pokaż kod. jeśli napiszesz wiersz o jedną linię za linię, nie powinno to stanowić problemu. – ghostdog74