Python đọc nhiều dòng cùng một lúc

Các tệp văn bản bao gồm nội dung văn bản thuần túy. Tệp văn bản còn được gọi là tệp phẳng hoặc tệp đơn giản. Python cung cấp hỗ trợ dễ dàng để đọc và truy cập nội dung trong tệp. Các tệp văn bản được mở đầu tiên và sau đó nội dung được truy cập từ nó theo thứ tự các dòng. Theo mặc định, số dòng bắt đầu bằng chỉ số thứ 0. Có nhiều cách khác nhau để đọc các dòng cụ thể từ một tệp văn bản trong python, bài viết này nhằm mục đích thảo luận về chúng.  

Tập tin đang sử dụng. kiểm tra. txt

Phương pháp 1. đối tượng tập tin. đường đọc []

Một đối tượng tệp có thể được tạo bằng Python và sau đó phương thức readlines[] có thể được gọi trên đối tượng này để đọc các dòng thành một luồng. Phương pháp này được ưu tiên khi một dòng hoặc một loạt các dòng từ một tệp cần được truy cập đồng thời. Nó có thể dễ dàng được sử dụng để in các dòng từ bất kỳ chỉ mục bắt đầu ngẫu nhiên nào đến một số chỉ mục kết thúc. Ban đầu, nó đọc toàn bộ nội dung của tệp và giữ một bản sao của nó trong bộ nhớ. Các dòng tại các chỉ số được chỉ định sau đó được truy cập.  

Thí dụ

Python3




# open the sample file used

file = open['test.txt']

This is line 5.
0

This is line 5.
1

This is line 5.
2= file
This is line 5.
5

This is line 5.
0

This is line 5.
7

This is line 5.
8_______33_______
This is line 1.
This is line 8.
This is line 12.
0]

This is line 5.
8_______7_______3
This is line 1.
This is line 8.
This is line 12.
4
This is line 1.
This is line 8.
This is line 12.
5

This is line 5.
0

This is line 1.
This is line 8.
This is line 12.
7

This is line 5.
8_______33_______# open the sample file used0]

This is line 5.
8_______7_______3# open the sample file used4# open the sample file used5# open the sample file used6
This is line 1.
This is line 8.
This is line 12.
5

đầu ra

dòng thứ mười
 

Đây là dòng 10

ba dòng đầu tiên
 

Đây là dòng 1. Đây là dòng 2. Đây là dòng 3

Phương pháp 2. gói linecache

Gói linecache có thể được nhập bằng Python và sau đó được sử dụng để trích xuất và truy cập các dòng cụ thể trong Python. Gói có thể được sử dụng để đọc nhiều dòng cùng một lúc. Nó sử dụng bộ nhớ cache để thực hiện tối ưu hóa nội bộ. Gói này tự mở tệp và chuyển đến dòng cụ thể. Gói này có phương thức getline[] được sử dụng cho cùng.  

cú pháp.  

getLine[txt-file, line_number]

Thí dụ

Python3




# open the sample file used8

# open the sample file used9 file0

This is line 5.
0

file2

file3= file5_______34_______file7file8]

This is line 5.
0

=1

This is line 5.
8=3

đầu ra

This is line 5.

Phương pháp 3. liệt kê[]

Phương thức enumerate[] được sử dụng để chuyển đổi một chuỗi hoặc một đối tượng danh sách thành một chuỗi dữ liệu được lập chỉ mục bởi các số. Sau đó, nó được sử dụng trong việc liệt kê dữ liệu kết hợp với vòng lặp for. Các dòng tại các chỉ mục cụ thể có thể được truy cập bằng cách chỉ định các số chỉ mục cần thiết trong một mảng.  

Một cách dễ dàng để đọc tệp văn bản và phân tích cú pháp từng dòng là sử dụng câu lệnh python “readlines” trên một đối tượng tệp

Làm cách nào để đọc tất cả các dòng trong một tệp cùng một lúc?

Nếu bạn muốn đọc tất cả các dòng của tệp cùng một lúc, hàm readlines[] của Python là dành cho bạn. Hàm readlines của Python đọc mọi thứ trong tệp văn bản và đưa chúng vào danh sách các dòng. Đây là một ví dụ về cách sử dụng đường dẫn của Python

Trước tiên, chúng tôi mở tệp bằng hàm open[] ở chế độ chỉ đọc. Và sử dụng trình xử lý tệp từ mở tệp để đọc tất cả các dòng bằng readlines[] như sau

# Open the file with read only permit
f = open['my_text_file.txt', "r"]
# use readlines to read all lines in the file
# The variable "lines" is a list containing all lines in the file
lines = f.readlines[]
# close the file after reading the lines.
f.close[]

Chúng tôi cũng có thể đọc tất cả các dòng của tệp cùng một lúc theo cách khác. Về cơ bản, chúng ta sẽ sử dụng đối tượng xử lý tệp sau khi mở tệp làm đối số cho hàm list[] để lấy tất cả các dòng dưới dạng danh sách

Một cách khác để đọc các dòng cùng một lúc là chỉ cần sử dụng

# read all lines at once
lines = list[f]

Lưu ý rằng ký tự cuối cùng của mỗi dòng là ký tự xuống dòng

Sau đó, bạn có thể xem qua danh sách “dòng” để phân tích từng dòng. Như bạn có thể nhận thấy ngay lập tức, “readlines” hoặc “list[of] hoạt động tốt cho một tệp văn bản nhỏ. Tuy nhiên, việc sử dụng bộ nhớ không hiệu quả nếu các tệp văn bản của bạn thực sự lớn. Cách tốt hơn để đọc tệp văn bản thân thiện với bộ nhớ là đọc tệp theo từng dòng, mỗi lần một dòng

Core Python có [ít nhất] hai cách để đọc từng dòng tệp văn bản một cách dễ dàng

Làm cách nào để đọc từng dòng tệp văn bản bằng cách sử dụng câu lệnh While trong Python?

Đây là cách để đọc từng dòng một tệp văn bản bằng cách sử dụng câu lệnh "While" và chức năng readline của python. Vì chúng tôi đọc từng dòng một với readline, chúng tôi có thể dễ dàng xử lý các tệp lớn mà không phải lo lắng về các vấn đề về bộ nhớ

# Open the file with read only permit
f = open['my_text_file.txt']
# use readline[] to read the first line 
line = f.readline[]
# use the read line to read further.
# If the file is not empty keep reading one line
# at a time, till the file is empty
while line:
    # in python 2+
    # print line
    # in python 3 print is a builtin function, so
    print[line]
    # use realine[] to read next line
    line = f.readline[]
f.close[]

Một biến thể khác của việc đọc tệp bằng câu lệnh while và câu lệnh readline như sau. Ở đây, while kiểm tra boolean và đọc từng dòng cho đến khi chúng tôi đến cuối tệp và dòng sẽ trống

# file handle fh
fh = open['my_text_file.txt']
while True:
    # read line
    line = fh.readline[]
    # in python 2, print line
    # in python 3
    print[line]
    # check if line is not empty
    if not line:
        break
fh.close[]

Làm cách nào để đọc từng dòng tệp văn bản bằng cách sử dụng Iterator trong Python?

Người ta cũng có thể sử dụng trình vòng lặp để đọc tệp văn bản từng dòng một. Đây là cách làm

fh = open['my_text_file.txt']
for line in fh:
    # in python 2
    # print line
    # in python 3
    print[line]
fh.close[]

Nhớ đóng trình xử lý tệp [“fh”] bằng câu lệnh “fh. close[]” ban đầu có thể khó khăn. Người ta có thể kiểm tra xem trình xử lý tệp có bị đóng không bằng

# check if the file file handler is closed or not
>fh.closed
# true if the file handler is closed 
True

Người ta có thể mở tệp theo cách đơn giản hơn nhiều bằng cách sử dụng câu lệnh “with” trong Python mà không cần phải đóng trình xử lý tệp. Toán tử with tạo một trình quản lý ngữ cảnh và nó sẽ tự động đóng tệp cho bạn khi bạn thực hiện xong

Kiểm tra tại đây để xem cách sử dụng câu lệnh “with” để mở tệp

  • Câu lệnh “with” trong Python để mở tệp

Bạn có muốn đọc từng dòng một tệp văn bản và bỏ qua các dòng bình luận không?, hãy kiểm tra bài đăng này

  • 3 cách để đọc tệp và bỏ qua các dòng nhận xét ban đầu trong Python

Bạn có muốn đọc/tải dữ liệu số tệp văn bản, kiểm tra bài đăng này

  • Làm cách nào để đọc dữ liệu/tệp số trong Python bằng numpy?

Bạn có dữ liệu trong tệp văn bản giới hạn csv hoặc tab và muốn đọc nó bằng Python không? . Đây là cách tải tệp dữ liệu trong python bằng Pandas,

Chủ Đề