Xin chào những người học Python, hôm nay trong hướng dẫn này, tôi sẽ chỉ cho bạn cách thêm các mục vào danh sách từ một tệp văn bản trong python. Hoặc bạn có thể nói, với hướng dẫn này, bạn sẽ học cách thêm các phần tử vào danh sách từ tệp văn bản theo từng dòng
Vì vậy, hướng dẫn này sẽ bao gồm
- Đọc một tệp văn bản trong Python
- Sau đó, nối từng dòng từ tệp văn bản vào danh sách của bạn bằng vòng lặp for
Thêm phần tử vào danh sách từ tệp văn bản mỗi dòng dưới dạng phần tử mới trong Python
Hãy bắt đầu với tệp văn bản mẫu của chúng tôi
tên tập tin. my_text_file. txt
This is a text file And we are going to add these lines to a list in Python
Bây giờ chúng ta sắp thêm từng dòng một vào danh sách Python từ tệp văn bản này
Bước đầu tiên của chúng tôi sẽ là đọc tất cả các dòng của tệp văn bản. Điều đó có thể được thực hiện với đoạn mã sau
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]
Nhớ lại. Trong trường hợp này, tệp văn bản và tệp chương trình python của tôi, tôi. mã hóa điện tử. py cả hai đều nằm trong cùng một thư mục. Nếu tệp văn bản của bạn nằm trong một số thư mục hoặc thư mục khác thì bạn phải đề cập đến vị trí hoặc đường dẫn của tệp văn bản của bạn tại đây. my_file = open[‘path_of_your_file’]
Cho đến bây giờ chúng tôi đã đọc các dòng từ tệp văn bản của chúng tôi. Bây giờ, phần tiếp theo là nối từng dòng một vào danh sách của chúng ta
Vậy danh sách ở đâu?
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[] items = []
các mục là biến danh sách của chúng tôi bây giờ. Chúng tôi sẽ nối từng dòng từ tệp văn bản trong danh sách này bằng cách sử dụng vòng lặp for
Chương trình Python cuối cùng để thêm từng dòng từ tệp văn bản vào danh sách Python của chúng tôi
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[] items = [] for i in all_the_lines: items.append[i] print[items]
đầu ra
$ python codespeedy.py ['This\n', 'is\n', 'a text\n', 'file\n', 'And we\n', 'are going to\n', 'add\n', 'these\n', 'lines\n', 'to a list\n', 'in Python']
Bây giờ bạn có thể thấy chúng tôi đã nhập tất cả các dòng từ tệp văn bản vào danh sách Python của mình
Nhưng khoan đã. Tại sao \n ở cuối mỗi phần tử trong danh sách Python?
Vì trong file text có dòng mới. Và Python đọc đúng tệp văn bản
Nhưng bạn có thể hỏi làm cách nào để đọc ký tự cuối cùng \n của các mục trong danh sách?
Vâng, tôi cũng có một giải pháp cho nó. Chỉ cần làm theo hướng dẫn này là tốt. Cách xóa \n khỏi các phần tử danh sách trong Python – dòng mới ký tự cuối cùng
Ghi vào một tập tin hiện có
Để ghi vào một tệp hiện có, bạn phải thêm một tham số vào hàm
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]26
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]27 - Nối - sẽ nối vào cuối tệp
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]28 - Viết - sẽ ghi đè lên bất kỳ nội dung hiện có
Thí dụ
Mở tệp "demofile2. txt" và nối thêm nội dung vào tệp
f = open["file demo2. txt", "a"]
f. write["Bây giờ file có thêm nội dung. "]
f. đóng[]
#open và đọc tệp sau khi nối thêm.
f = open["file demo2. txt", "r"]
print[f. đã đọc[]]
Thí dụ
Mở tệp "demofile3. txt" và ghi đè lên nội dung
f = open["file demo3. txt", "w"]
f. viết ["Rất tiếc. Tôi đã xóa nội dung. "]
f. đóng[]
#open và đọc tệp sau khi nối thêm.
f = open["file demo3. txt", "r"]
print[f. đã đọc[]]
Ghi chú. phương thức "w" sẽ ghi đè lên toàn bộ tệp
Tạo một tệp mới
Để tạo một tệp mới trong Python, hãy sử dụng phương thức
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]26, với một trong các tham số sau
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]30 - Tạo - sẽ tạo tệp, trả về lỗi nếu tệp tồn tại
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]27 - Nối thêm - sẽ tạo tệp nếu tệp được chỉ định không tồn tại
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]28 - Viết - sẽ tạo tệp nếu tệp được chỉ định không tồn tại
Thí dụ
Tạo một tệp có tên "myfile. txt"
f = open["tệp của tôi. txt", "x"]
Kết quả. một tệp trống mới được tạo
Thí dụ
Tạo một tập tin mới nếu nó không tồn tại
f = open["tệp của tôi. txt", "w"]
Xử lý tệp là một phần không thể thiếu trong lập trình. Xử lý tệp trong Python được đơn giản hóa bằng các phương thức tích hợp sẵn, bao gồm tạo, mở và đóng tệp
Trong khi các tệp đang mở, Python cũng cho phép thực hiện các thao tác tệp khác nhau, chẳng hạn như đọc, ghi và nối thêm thông tin
Bài viết này hướng dẫn bạn cách làm việc với tệp trong Python
điều kiện tiên quyết
Ghi chú. Làm theo một trong những hướng dẫn của chúng tôi để cài đặt Python 3 cho
Mở tệp bằng Python
Phương thức
f = open["", "rt"]
8 Python là chức năng xử lý tệp chính. Cú pháp cơ bản làfile_object = open['file_name', 'mode']
Hàm
f = open["", "rt"]
8 nhận hai tham số cơ bản để xử lý tệp1.
f = open["", "rb"]
0 bao gồm phần mở rộng tệp và giả sử tệp nằm trong thư mục làm việc hiện tại. Nếu vị trí tệp ở nơi khác, hãy cung cấp đường dẫn tuyệt đối hoặc tương đối2.
f = open["", "rb"]
1 là tham số tùy chọn xác định phương thức mở tệp. Bảng dưới đây phác thảo các tùy chọn có thể khác nhauModeDescriptionf = open["", "rb"]
2Đọc từ tệp và trả về lỗi nếu tệp không tồn tại [mặc định]. f = open["", "rb"]
3Ghi vào tệp và tạo tệp nếu tệp không tồn tại hoặc ghi đè lên tệp hiện có. f = open["", "rb"]
4Tạo độc quyền không thành công nếu tệp đã tồn tại. f = open["", "rb"]
5Thêm vào tệp và tạo tệp nếu tệp không tồn tại hoặc ghi đè lên tệp hiện có. f = open["", "rb"]
6Chế độ nhị phân. Sử dụng chế độ này cho các tệp phi văn bản, chẳng hạn như hình ảnh. f = open["", "rb"]
7Chế độ văn bản. Chỉ sử dụng cho các tệp văn bản [mặc định]. f = open["", "rb"]
8Kích hoạt các phương thức đọc và viếtChế độ phải có chính xác một phương thức tạo[
f = open["", "rb"]
9]/đọc[my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]80]/ghi[
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]81]/chắp thêm[
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]82], nhiều nhất là một phương thức
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]83. Bỏ qua chế độ mặc định là
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]84 để đọc tệp văn bản
Dưới đây là bảng mô tả cách hoạt động của từng chế độ khi được gọi
BehaviorModesReadmy_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]80,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]86,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]87,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]88,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]89Write
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]86,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]81,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]87,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]82,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]88,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]89Create
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]81,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]87,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]82,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]88,
f = open["", "rb"]
9, my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]89Pointer Position Start
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]80,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]86,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]81,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]87,
f = open["", "rb"]
9, my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]89Pointer Position End
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]82,
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]88Truncate [clear contents]
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]81
Chế độ đọc
Chế độ đọc trong Python mở một tệp hiện có để đọc, định vị con trỏ ở đầu tệp
Ghi chú. Nếu tệp không tồn tại, Python sẽ báo lỗi
Để đọc tệp văn bản bằng Python, hãy tải tệp bằng cách sử dụng hàm
f = open["", "rt"]
8f = open["", "rt"]
5Chế độ mặc định để đọc văn bản [______184]. Do đó, phương pháp sau đây tương đương với phương pháp mặc định
f = open["", "rt"]
Để đọc tệp ở chế độ nhị phân, hãy sử dụng
________số 8Thêm
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]83 để mở tệp ở chế độ đọc và ghi
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]8
file_object = open['file_name', 'mode']
1file_object = open['file_name', 'mode']
2Trong mọi trường hợp, hàm trả về một đối tượng tệp và các đặc điểm phụ thuộc vào chế độ đã chọn
Chế độ ghi
Chế độ ghi tạo một tệp để ghi nội dung và đặt con trỏ ở đầu. Nếu tệp tồn tại, hãy viết cắt bớt [xóa] mọi thông tin hiện có
Cảnh báo. Chế độ ghi xóa nội dung hiện có ngay lập tức. Kiểm tra xem tệp có tồn tại trước khi vô tình ghi đè thông tin không
Để mở một tệp để ghi thông tin, hãy sử dụng
file_object = open['file_name', 'mode']
3Chế độ mặc định là văn bản nên dòng sau tương đương với chế độ mặc định
file_object = open['file_name', 'mode']
4Để viết ở chế độ nhị phân, hãy mở tệp bằng
file_object = open['file_name', 'mode']
5Thêm
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]83 để cho phép đọc tệp________ 550 ________ 551 ________ 552
Hàm
f = open["", "rt"]
8 trả về một đối tượng tệp có thông tin chi tiết phụ thuộc vào các chế độ đã chọnChế độ nối thêm
Chế độ nối thêm thông tin vào tệp hiện có, đặt con trỏ ở cuối. Nếu một tệp không tồn tại, chế độ chắp thêm sẽ tạo tệp
Ghi chú. Sự khác biệt chính giữa chế độ ghi và nối thêm là việc nối thêm không xóa nội dung của tệp
Sử dụng một trong các dòng sau để mở tệp ở chế độ chắp thêm
_______553____554____555Thêm dấu
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]83 để thêm chức năng đọc
Tạo chế độ
Chế độ tạo [còn được gọi là tạo độc quyền] chỉ tạo một tệp nếu nó không tồn tại, định vị con trỏ ở đầu tệp
Ghi chú. Nếu tệp tồn tại, Python sẽ báo lỗi. Sử dụng chế độ này để tránh ghi đè lên các tệp hiện có
Sử dụng một trong các dòng sau để mở tệp ở chế độ tạo
f = open["", "rt"]
56____557____558Thêm dấu
my_file = open['my_text_file.txt'] all_the_lines = my_file.readlines[]83 vào chế độ bao gồm chức năng đọc cho bất kỳ dòng nào ở trên
Đọc tệp bằng Python
Sau khi nhập tệp vào một đối tượng, Python cung cấp nhiều phương thức để đọc nội dung
Sử dụng phương thức
file_object = open['file_name', 'mode']
43 trên đối tượng tệp và in kết quả. Ví dụf = open["", "rt"]
59Ghi chú. Hàm
file_object = open['file_name', 'mode']
44 tự động thêm một dòng trống mới. Để thay đổi hành vi này, hãy thêm tham số file_object = open['file_name', 'mode']
45 vào file_object = open['file_name', 'mode']
44 để xóa dòng trốngMã in nội dung của tệp văn bản
Đọc các phần của tệp
Cung cấp một số cho hàm
file_object = open['file_name', 'mode']
43 để chỉ đọc số lượng ký tự đã chỉ địnhf = open["", "rt"]
0Đầu ra in năm ký tự đầu tiên trong tệp
Ngoài ra, sử dụng phương pháp
file_object = open['file_name', 'mode']
48 để chỉ in dòng đầu tiên của tệpf = open["", "rt"]
1Thêm một số nguyên vào hàm
file_object = open['file_name', 'mode']
48 để in số ký tự đã chỉ định mà không vượt quá dòng đầu tiênđọc dòng
Để đọc các dòng và lặp qua nội dung của tệp, hãy sử dụng vòng lặp
file_object = open['file_name', 'mode']
50f = open["", "rt"]
2Ngoài ra, sử dụng phương thức
file_object = open['file_name', 'mode']
51 trên đối tượng tệpf = open["", "rt"]
3Hàm trả về danh sách các dòng từ luồng tệp
Thêm một số nguyên vào hàm
file_object = open['file_name', 'mode']
51 để kiểm soát số lượng dòng. Ví dụf = open["", "rt"]
4Số nguyên đại diện cho số ký tự và hàm trả về dòng mà ký tự kết thúc cùng với các dòng trước đó
Đóng tệp
Một tệp vẫn mở cho đến khi gọi hàm
file_object = open['file_name', 'mode']
53. Bạn nên đóng các tệp không còn được sử dụng để tránh hành vi tệp không thể đoán trước và các tệp bị hỏngĐể đóng tệp, hãy chạy phương thức
file_object = open['file_name', 'mode']
53 trên đối tượng tệpf = open["", "rt"]
5Một cách khác để đảm bảo đóng tệp là sử dụng câu lệnh
file_object = open['file_name', 'mode']
55. Ví dụf = open["", "rt"]
6Câu lệnh
file_object = open['file_name', 'mode']
55 tự động đóng tệpXóa tệp trong Python
Xóa tệp trong Python yêu cầu thiết lập giao tiếp với hệ điều hành. Nhập thư viện
file_object = open['file_name', 'mode']
57 và xóa một tệp có nội dung sauf = open["", "rt"]
7Các tập tin không còn có sẵn. Nếu tệp không tồn tại, Python sẽ báo lỗi
Phương thức tệp Python
Python cung cấp nhiều chức năng khác khi làm việc với các đối tượng tệp. Dưới đây là bảng phác thảo tất cả các quy trình có sẵn và chức năng của chúng
MethodDescriptionfile_object = open['file_name', 'mode']
53Flushes và đóng đối tượng tệp. file_object = open['file_name', 'mode']
59Tách bộ đệm khỏi luồng văn bản và trả về bộ đệm. f = open["", "rt"]
500Trả về bộ mô tả của tệp nếu có. f = open["", "rt"]
501Xóa bộ đệm ghi. Không có sẵn cho các đối tượng chỉ đọc. f = open["", "rt"]
502Kiểm tra xem luồng tệp có tương tác không. file_object = open['file_name', 'mode']
43Đọc f = open["", "rt"]
504số ký tự nhiều nhất. f = open["", "rt"]
505Kiểm tra xem một đối tượng có thể đọc được không. file_object = open['file_name', 'mode']
48Đọc từ đối tượng cho đến khi xuống dòng hoặc kết thúc tệp. file_object = open['file_name', 'mode']
51Trả về danh sách các dòng từ đối tượng tệp, trong đó f = open["", "rt"]
504 là số ký tự gần đúng. f = open["", "rt"]
509Thay đổi vị trí con trỏ thành f = open["", "rt"]
504 so với f = open["", "rt"]
504. f = open["", "rt"]
512Kiểm tra xem đối tượng tệp có hỗ trợ truy cập ngẫu nhiên không. f = open["", "rt"]
513In vị trí luồng hiện tại. f = open["", "rt"]
514Đổi kích thước luồng tệp thành f = open["", "rt"]
504[hoặc vị trí hiện tại nếu không được nêu] và trả về kích thước. f = open["", "rt"]
516 Ghi f = open["", "rt"]
504 vào đối tượng tệp và trả về số ký tự đã viết. f = open["", "rt"]
518Kiểm tra xem đối tượng tệp có cho phép ghi không. f = open["", "rt"]
519 Viết một f = open["", "rt"]
504 dòng vào luồng mà không có dấu tách dòngSự kết luận
Bạn biết cách xử lý tệp trong Python sau khi đọc hướng dẫn này. Thử sử dụng thư viện Python chẳng hạn như Pandas để hoạt động với các loại tệp khác