Làm cách nào để thêm một mục vào tệp trong python?

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[]]

Chạy ví dụ »

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[]]

Chạy ví dụ »

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ệp

1.

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 đối

2.

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 nhau

ModeDescription
f = 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ết

Chế độ 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

BehaviorModesRead
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[]
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"]
8

f = open["", "rt"]
5

Chế độ 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ố 8

Thê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']
1
file_object = open['file_name', 'mode']
2

Trong 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']
3

Chế độ 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']
5

Thê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ọn

Chế độ 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____555

Thê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____558

Thê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"]
59

Ghi 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ống

Mã 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ỉ định

f = 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ệp

f = open["", "rt"]
1

Thê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']
50

f = open["", "rt"]
2

Ngoài ra, sử dụng phương thức

file_object = open['file_name', 'mode']
51 trên đối tượng tệp

f = open["", "rt"]
3

Hà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"]
4

Số 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ệp

f = open["", "rt"]
5

Mộ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"]
6

Câu lệnh

file_object = open['file_name', 'mode']
55 tự động đóng tệp

Xó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 sau

f = open["", "rt"]
7

Cá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

MethodDescription
file_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òng

Sự 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

Chủ Đề