Tôi đang làm như thế này ngay bây giờ, nhưng tôi muốn nó viết ở đầu tệp thay vào đó.write() ở đầu tệp?
f = open('out.txt', 'a') # or 'w'?
f.write("string 1")
f.write("string 2")
f.write("string 3")
f.close()
để các nội dung của out.txt
sẽ là:
string 3
string 2
string 1
và không (như mã này không):
string 1
string 2
string 3
Điều gì xảy ra nếu việc sử dụng tệp này giống như tệp nhật ký, nơi tập lệnh có thể ghi vào nhật ký về các lần thực thi liên tiếp? Là sự truy đòi duy nhất để giữ toàn bộ tập tin trong bộ nhớ, tìm cách bắt đầu để viết công cụ của bạn theo sau bởi tất cả các nội dung trước đó? (không bao gồm việc tạo các tệp trung gian) –
Tôi không biết gì về lớp 'tệp' của Python cho phép trực tiếp điều này (nghĩa là không sử dụng một số loại đệm trung gian). Vì vậy, ngay bây giờ, điều này trông giống như cách đơn giản nhất. Đối với một tập tin nhật ký, nó sẽ không làm cho ý nghĩa hơn rất nhiều và làm cho cuộc sống đơn giản hơn rất nhiều chỉ đơn giản là để thêm các mục mới nhất vào cuối của tập tin? – MAK
@Nick, @MAK, Không chỉ là không có gì trong Python có thể xử lý này, không có gì trong thư viện C bên dưới hoặc hệ thống tập tin. Điều này đơn giản không phải là cách các tệp hoạt động và bạn không thể phát triển tệp khác ngoài việc thêm vào trừ khi bạn sẵn sàng sao chép nội dung xung quanh. Nó có thể được thực hiện với một tập tin mới, hoặc bằng cách di chuyển dữ liệu trong tập tin cũ, nhưng cả hai cách nó rất có thể là một ý tưởng tồi. Thay đổi tốt hơn các yêu cầu hoặc cách bạn xem vấn đề ... –