Tôi muốn thực hiện một số lọc cơ bản trên tệp. Đọc nó, xử lý, viết lại.Mở tệp, đọc, xử lý và viết lại - phương pháp ngắn nhất trong Python
Tôi không tìm kiếm "chơi gôn", nhưng muốn có phương pháp đơn giản và thanh lịch nhất để đạt được điều này. Tôi đã đưa ra:
from __future__ import with_statement
filename = "..." # or sys.argv...
with open(filename) as f:
new_txt = # ...some translation of f.read()
open(filename, 'w').write(new_txt)
Tuyên bố with
làm cho mọi việc ngắn hơn vì tôi không phải mở và đóng tệp một cách rõ ràng.
Bất kỳ ý tưởng nào khác?
Rất tốt, cảm ơn bạn đã chỉ ra tùy chọn này. Bạn cũng có thể sử dụng hàm filelineno() từ fileinput để tự động có số dòng, mà không tự tính nó. –
Ồ, và bạn quên dấu phẩy sau khi in - mã bổ sung thêm dòng mới :-) –
Cảm ơn bạn đã bắt được - Tôi đã thay đổi ví dụ. – Hortitude