Bài viết này đi chi tiết về cách tạo tệp văn bản nhiều dòng trong python. Hãy để chúng tôi thảo luận về cách tạo tệp văn bản nhiều dòng trong python. Bài đăng này sẽ cung cấp cho bạn một ví dụ đơn giản về ví dụ viết tệp văn bản nhiều dòng trong python. Hướng dẫn này sẽ cung cấp cho bạn một ví dụ đơn giản về python tạo một tệp văn bản nhiều dòng mới. Vì vậy, chúng ta hãy xem chi tiết một ví dụ
Có một số cách để tạo một tệp văn bản nhiều dòng mới trong python. chúng ta sẽ sử dụng hàm open[] và hàm write[] để tạo tệp văn bản. Tôi sẽ cung cấp cho bạn một số ví dụ để tạo tệp văn bản mới có nhiều dòng trong python. vì vậy hãy xem từng ví dụ một
Bạn có thể sử dụng các ví dụ này với phiên bản python3 [Python 3]
ví dụ 1. Python Tạo tệp văn bản nhiều dòng
Trong ví dụ này, chúng ta sẽ sử dụng hàm open[]. phải có hai đối số, đối số đầu tiên cho tên tệp và đối số thứ hai với 'w' để mở tệp để ghi. sau đó chúng tôi đóng tệp đơn giản bằng cách sử dụng hàm close[]. xem ví dụ dưới đây với đầu ra
Giả sử tệp cần đọc lớn đáng kể [tính bằng GB] và bạn không muốn đọc toàn bộ tệp trong bộ nhớ cùng một lúc mà chỉ muốn nhảy và đọc các dòng #5 và #120. Để đọc các dòng cụ thể từ một tệp văn bản, hãy làm theo các bước sau
- Mở tệp ở Chế độ đọc
Để mở một file pass đường dẫn file và truy cập chế độ
['Fifth line', 'Eighth Line']
3 đến hàm['Fifth line', 'Eighth Line']
4. Chế độ truy cập chỉ định thao tác bạn muốn thực hiện trên tệp, chẳng hạn như đọc hoặc ghi.
Ví dụ,['Fifth line', 'Eighth Line']
5 để đọc một tập tin. - Tạo một danh sách để lưu trữ số dòng
Tạo danh sách với số thứ tự của từng dòng trong tệp văn bản để đọc.
Ví dụ:['Fifth line', 'Eighth Line']
6. Ở đây chúng ta đang đọc dòng 4 và 7. - Tạo một danh sách để lưu trữ các dòng
Sau khi đọc dòng 4 và 7, chúng tôi sẽ lưu trữ kết quả đó trong một biến danh sách
- Sử dụng vòng lặp for với hàm enumerate[] để lấy một dòng và số của nó
Hàm thêm bộ đếm vào một lần lặp và trả về nó trong đối tượng liệt kê. Truyền con trỏ tệp được trả về bởi hàm
['Fifth line', 'Eighth Line']
4 cho['Fifth line', 'Eighth Line']
8.
Chúng ta có thể sử dụng đối tượng liệt kê này với vòng lặp for để truy cập số dòng.
Lưu ý.['Fifth line', 'Eighth Line']
9 không tải toàn bộ tệp trong bộ nhớ, vì vậy đây là một giải pháp hiệu quả. - Đọc tệp theo số dòng
Sử dụng điều kiện if trong mỗi lần lặp của vòng lặp để kiểm tra số dòng. Nếu khớp thì lưu dòng đó vào danh sách
Ví dụ. Đọc các dòng cụ thể từ tệp theo số dòng
Đoạn mã sau cho biết cách đọc tệp văn bản theo số dòng trong Python. Xem tệp đính kèm được sử dụng trong ví dụ và hình ảnh hiển thị nội dung của tệp để tham khảo
Trong ví dụ này, chúng tôi đang đọc dòng số 4 và 7 và lưu trữ nó trong một biến danh sách
with open[r"E:\demos\files\read_demo.txt", 'r'] as fp:
# lines to read
line_numbers = [4, 7]
# To store lines
lines = []
for i, line in enumerate[fp]:
# read line 4 and 7
if i in line_numbers:
lines.append[line.strip[]]
elif i > 7:
# don't read after line 7 to save time
break
print[lines]
đầu ra
['Fifth line', 'Eighth Line']
mô-đun linecache Đọc dòng từ tệp theo số dòng
Trong phần này, chúng ta sẽ xem cách đọc tệp theo số dòng bằng mô-đun linecache
Linecache của Python là một cách khác được tối ưu hóa hiệu suất để chuyển đến một dòng cụ thể trong tệp văn bản. Giả sử nếu bạn có một tệp văn bản lớn, thì linecache là lựa chọn chính xác
Mô-đun linecache cho phép một người lấy bất kỳ dòng nào từ tệp nguồn Python, trong khi cố gắng tối ưu hóa nội bộ, sử dụng bộ đệm, trường hợp phổ biến khi nhiều dòng được đọc từ một tệp. Điều này được mô-đun truy ngược sử dụng để truy xuất các dòng nguồn để đưa vào truy nguyên được định dạng
Tài liệu Python
Sử dụng phương pháp
linecache.getline[filename, lineno, module_globals=None]
0 để đọc dòng cụ thể từ một tệplinecache.getline[filename, lineno, module_globals=None]
- Nhận dòng
1 từ một tệp có tênlinecache.getline[filename, lineno, module_globals=None]
2. Hàm này sẽ không trả về bất kỳ lỗi nào nếu dòng không có trong tệp thay vào đó, nó sẽ trả về một chuỗi trốnglinecache.getline[filename, lineno, module_globals=None]
- Thay đổi
1 thành số dòng mong muốn của bạn và bạn đã sẵn sàng để bắt đầulinecache.getline[filename, lineno, module_globals=None]
Ví dụ
['Fifth line', 'Eighth Line']4
đầu ra
['Fifth line', 'Eighth Line']5
Ghi chú. Linache đọc toàn bộ tệp trong bộ nhớ. Vì vậy, nếu truy cập ngẫu nhiên vào số dòng quan trọng hơn hiệu suất, thì hãy sử dụng linache
Nếu bạn muốn đọc nhiều hơn một số dòng từ một tệp bằng linecache, hãy sử dụng ví dụ bên dưới
['Fifth line', 'Eighth Line']6
Sử dụng linecache.getline[filename, lineno, module_globals=None]
4 để đọc phạm vi dòng từ Tệp
linecache.getline[filename, lineno, module_globals=None]
Nếu kích thước tệp của bạn nhỏ và bạn không quan tâm đến hiệu suất, thì phương pháp này phù hợp nhất
Đọc tệp bằng Python nhanh nếu kích thước tệp tính bằng vài MB
Phương thức
linecache.getline[filename, lineno, module_globals=None]
4 đọc tất cả các dòng từ một tệp và lưu trữ nó trong một danh sách. Bạn có thể sử dụng số chỉ mục làm số dòng để trích xuất một tập hợp các dòng từ nóĐây là cách đơn giản nhất để đọc một dòng cụ thể từ một tệp trong Python. Chúng tôi đọc toàn bộ tệp bằng cách này và sau đó chọn các dòng cụ thể từ tệp theo yêu cầu của chúng tôi
Sử dụng
linecache.getline[filename, lineno, module_globals=None]
6 để đọc phạm vi dòng- bắt đầu là số dòng bắt đầu
- kết thúc là số dòng cuối cùng
- Để đọc từ dòng số 3 đến 5, hãy sử dụng
7linecache.getline[filename, lineno, module_globals=None]
- Để đọc một dòng, hãy sử dụng
8. cái này sẽ đọc dòng thứ balinecache.getline[filename, lineno, module_globals=None]
Ví dụ. Đọc dòng từ 3 đến 5
['Fifth line', 'Eighth Line']2
Ví dụ. Đọc dòng 8
['Fifth line', 'Eighth Line']3
Bạn cũng có thể sử dụng phương pháp
linecache.getline[filename, lineno, module_globals=None]
9 để đọc từng dòng một tệp, dừng lại khi bạn đến dòng mình muốn. Sử dụng kỹ thuật này, chúng tôi không cần phải đọc toàn bộ tệpví dụ 3
['Fifth line', 'Eighth Line']5
Trình tạo để đọc các dòng từ một tệp theo số dòng
Một giải pháp nhanh và gọn có thể là biểu thức trình tạo để đọc tệp bằng cách sử dụng số dòng
Nếu số lượng dòng được trả về từ một tệp lớn, bạn nên sử dụng trình tạo
Giải pháp này chấp nhận con trỏ tệp và số dòng được đọc trả về một đối tượng trình tạo để lặp lại bằng vòng lặp để nhận từng dòng