Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu nhiều cách khác nhau để viết các tệp văn bản bằng Python.: in this tutorial, you’ll learn various ways to write text files in Python.
TL;DR
Sau đây minh họa cách ghi chuỗi vào tệp văn bản:
Code language: JavaScript [javascript]
with open['readme.txt', 'w'] as f: f.write['readme']
Các bước để ghi vào tệp văn bản
Để ghi vào tệp văn bản bằng Python, bạn làm theo các bước sau:
- Đầu tiên, hãy mở tệp văn bản để viết [hoặc nối] bằng hàm
open[]
. - Thứ hai, ghi vào tệp văn bản bằng phương thức
0 hoặcf = open[file, mode]
1.f = open[file, mode]
- Thứ ba, đóng tệp bằng phương pháp
2.f = open[file, mode]
Sau đây cho thấy cú pháp cơ bản của hàm open[]
:
f = open[file, mode]
Hàm open[]
chấp nhận nhiều tham số. Nhưng bạn sẽ tập trung vào hai người đầu tiên:
- Tham số
5 chỉ định đường dẫn đến tệp văn bản mà bạn muốn mở để viết.f = open[file, mode]
- Tham số
6 Chỉ định chế độ mà bạn muốn mở tệp văn bản.f = open[file, mode]
Để ghi vào tệp văn bản, bạn sử dụng một trong các chế độ sau:
7 | Mở một tệp văn bản để viết. Nếu tệp tồn tại, chức năng sẽ cắt giảm tất cả các nội dung ngay khi bạn mở nó. Nếu tệp không tồn tại, chức năng sẽ tạo một tệp mới. |
8 | Mở một tệp văn bản để nối thêm văn bản. Nếu tệp tồn tại, chức năng nối các nội dung ở cuối tệp. |
++ | Mở một tệp văn bản để cập nhật [cả đọc và viết]. |
Hàm open[]
trả về một đối tượng tệp có hai phương thức hữu ích để ghi văn bản vào tệp:
0 và
f = open[file, mode]
1.
f = open[file, mode]
- Phương thức
0 ghi một chuỗi vào một tệp văn bản.f = open[file, mode]
- Phương thức
1 Viết danh sách các chuỗi vào một tệp cùng một lúc.f = open[file, mode]
Phương pháp
1 chấp nhận một đối tượng có thể lặp lại, không chỉ là một danh sách, vì vậy bạn có thể chuyển một bộ chuỗi, một tập hợp các chuỗi, v.v., cho phương thức
f = open[file, mode]
1.
f = open[file, mode]
Để viết một dòng vào một tệp văn bản, bạn cần thêm một ký tự dòng mới:
Code language: JavaScript [javascript]
f.write['\n'] f.writelines['\n']
Viết ví dụ về tệp văn bản
Ví dụ sau đây cho thấy cách sử dụng hàm
0 để ghi danh sách các văn bản vào tệp văn bản:
f = open[file, mode]
Code language: JavaScript [javascript]
lines = ['Readme', 'How to write text files in Python'] with open['readme.txt', 'w'] as f: for line in lines: f.write[line] f.write['\n']
Nếu tệp readme.txt không tồn tại, hàm open[]
sẽ tạo một tệp mới.
Những điều sau đây cho thấy cách viết danh sách các chuỗi văn bản vào tệp văn bản:
Code language: JavaScript [javascript]
lines = ['Readme', 'How to write text files in Python'] with open['readme.txt', 'w'] as f: f.writelines[lines]
Nếu bạn coi từng yếu tố của danh sách là một dòng, bạn cần kết hợp nó với ký tự mới như thế này:
Appending Tệp văn bảnCode language: JavaScript [javascript]
lines = ['Readme', 'How to write text files in Python'] with open['readme.txt', 'w'] as f: f.write['\n'.join[lines]]
Appending text files
Để nối vào tệp văn bản, bạn cần mở tệp văn bản cho chế độ nối tiếp. Ví dụ sau đây nối các dòng mới vào tệp
8:Code language: JavaScript [javascript]
f.write['\n'] f.writelines['\n']
Code language: JavaScript [javascript]
more_lines = ['', 'Append text files', 'The End'] with open['readme.txt', 'a'] as f: f.write['\n'.join[more_lines]]
Output:
Ghi vào tệp văn bản UTF-8
Nếu bạn viết các ký tự UTF-8 vào tệp văn bản bằng mã từ các ví dụ trước, bạn sẽ gặp lỗi như thế này:
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-44: character maps to
Code language: HTML, XML [xml]
Để mở một tệp và ghi các ký tự UTF-8 vào một tệp, bạn cần chuyển tham số
9 cho hàmCode language: JavaScript [javascript]
f.write['\n'] f.writelines['\n']
open[]
.Ví dụ sau đây cho thấy cách ghi các ký tự UTF-8 vào tệp văn bản:
Code language: JavaScript [javascript]
quote = '成功を収める人とは人が投げてきたレンガでしっかりした基盤を築くことができる人のことである。' with open['quotes.txt', 'w', encoding='utf-8'] as f: f.write[quote]
Bản tóm tắt
- Sử dụng chức năng
open[]
với chế độ
2 hoặc
Code language: JavaScript [javascript]lines = ['Readme', 'How to write text files in Python'] with open['readme.txt', 'w'] as f: for line in lines: f.write[line] f.write['\n']
3 để mở tệp văn bản để nối thêm.
Code language: JavaScript [javascript]lines = ['Readme', 'How to write text files in Python'] with open['readme.txt', 'w'] as f: for line in lines: f.write[line] f.write['\n']
- Luôn đóng tệp sau khi hoàn thành việc viết bằng phương thức
2 hoặc sử dụng câu lệnhf = open[file, mode]
5 khi mở tệp.
Code language: JavaScript [javascript]lines = ['Readme', 'How to write text files in Python'] with open['readme.txt', 'w'] as f: for line in lines: f.write[line] f.write['\n']
- Sử dụng các phương thức
0 vàf = open[file, mode]
1 để ghi vào tệp văn bản.f = open[file, mode]
- Chuyển
9 cho chức năng
Code language: JavaScript [javascript]f.write['\n'] f.writelines['\n']
open[]
để ghi các ký tự UTF-8 vào một tệp.
Bạn có thấy hướng dẫn này hữu ích không?