Đối với mã Python sau:Chức năng "mở" của Python có lưu nội dung của nó vào bộ nhớ hoặc trong một tệp tạm thời không?
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()
Quá trình viết trên có thể kéo dài hơn 30 phút. Đôi khi tôi gặp lỗi MemoryError
. Là nội dung của tập tin trước khi đóng được lưu trữ trong bộ nhớ hoặc được viết trong một tập tin tạm thời? Nếu nó nằm trong một tệp tạm thời, vị trí chung của nó trên một hệ điều hành Linux là gì?
Edit:
Added fp.write trong một vòng lặp for
Bạn có thực sự phát hành nhiều cuộc gọi đến 'fp.write' hoặc thu thập tất cả trong một chuỗi lớn và viết ra cùng một lúc không? Sau này sẽ là không hiệu quả. –
Nó gọi nhiều ghi trong vòng lặp for. –
hiển thị mã. nếu bạn viết một dòng một dòng, nó không phải là một vấn đề. – ghostdog74