Làm cách nào để bạn đọc một dòng cụ thể của tệp văn bản trong python?

Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách xóa một dòng cụ thể/cụ thể khỏi tệp văn bản bằng python

Giả sử chúng tôi đã lấy một tệp văn bản có tên TextFile. txt bao gồm một số văn bản ngẫu nhiên. Chúng tôi sẽ xóa một dòng cụ thể [ví dụ dòng 2] khỏi tệp văn bản

Tệp văn bản. txt

Good Morning
This is Tutorials Point sample File
Consisting of Specific
source codes in Python,Seaborn,Scala
Summary and Explanation
Welcome everyone
Learn with a joy

thuật toán

Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -

  • Tạo một biến để lưu đường dẫn của tệp văn bản

  • Sử dụng hàm open[][mở một tệp và kết quả là trả về một đối tượng tệp] để mở tệp văn bản ở chế độ chỉ đọc bằng cách chuyển tên tệp và chế độ làm đối số cho nó [Ở đây “r” biểu thị chỉ đọc

with open[inputFile, 'r'] as filedata:
  • Sử dụng hàm readlines[] [trả về một danh sách với mỗi dòng trong tệp được biểu thị dưới dạng một mục danh sách. Để giới hạn số dòng được trả về, hãy sử dụng đối số gợi ý. Không còn dòng nào được trả về nếu tổng số byte được trả về vượt quá số lượng đã chỉ định] để lấy danh sách các dòng của tệp văn bản đầu vào đã cho

file.readlines[hint]
  • Tạo một biến [giữ số dòng] và khởi tạo giá trị của nó thành 1

  • Sử dụng hàm open[][mở một tệp và kết quả là trả về một đối tượng tệp] để mở tệp văn bản đã cho ở chế độ ghi bằng cách chuyển tên tệp và chế độ làm đối số cho nó [Ở đây “w” đại diện cho chế độ ghi]

with open[inputFile, 'w'] as filedata:
  • Duyệt qua từng dòng của tệp bằng vòng lặp for

  • Nhập số dòng cần xóa dưới dạng đầu vào động bằng cách sử dụng hàm input[] [Hàm input[] đọc một dòng từ đầu vào [từ người dùng], chuyển đổi nó thành một chuỗi bằng cách loại bỏ dòng mới ở cuối và trả về nó. Khi gặp phải EOF, một ngoại lệ EOFError sẽ được đưa ra] và nhập truyền nó thành một số nguyên bằng hàm int[][chuyển đổi thành một số nguyên]

  • Sử dụng câu lệnh điều kiện if, xác định xem chỉ mục dòng [số dòng] có khác với số dòng xóa đã cho hay không

  • Nếu điều kiện là đúng, thì hãy sử dụng hàm write[] [ghi một văn bản đã chỉ định vào một tệp. Văn bản được cung cấp sẽ được chèn tùy thuộc vào chế độ tệp và vị trí luồng] để ghi dòng tương ứng đó vào một tệp

  • Tăng giá trị của giá trị chỉ mục dòng [số dòng] lên 1

  • In một số văn bản ngẫu nhiên nếu dòng cụ thể đã được xóa thành công

  • Mở lại tệp đầu vào ở chế độ đọc bằng hàm open[] để in nội dung tệp sau khi xóa dòng cụ thể đã cho

  • Duyệt qua từng dòng của tệp bằng vòng lặp for

  • In từng dòng của tệp văn bản

  • Đóng tệp đầu vào bằng hàm close[] [dùng để đóng tệp đã mở]

Ví dụ

Chương trình sau để xóa một dòng đã cho khỏi tệp văn bản và in nội dung tệp kết quả sau khi xóa dòng đó -

đầu ra

Khi thực thi, chương trình trên sẽ tạo đầu ra sau -

Enter the line number to be deleted = 2
Line 2 is deleted successfully

File Content After Deletion :
Good Morning
Consisting of Specific
source codes in Python,Seaborn,Scala
Summary and Explanation
Welcome everyone
Learn with a joy

Chúng tôi đã cung cấp cho chương trình của mình một tệp văn bản chứa một số nội dung ngẫu nhiên và sau đó mở nó ở chế độ đọc. Chúng tôi đã tạo một biến để lưu trữ số dòng hiện tại và khởi tạo nó thành 1, số dòng bắt đầu. Chúng tôi duyệt qua tệp cho đến khi đến cuối, sau đó kiểm tra xem liệu số người dùng nhập vào có tương đương với số dòng sẽ bị xóa không. Nếu sai ta không cần xóa bỏ dòng đó mà ghi vào file. Thay vì xóa dòng đã chỉ định, chúng tôi thêm các dòng còn lại vào tệp, do đó dòng bị xóa không xuất hiện trong tệp kết quả. Đối với mỗi dòng, giá trị của số dòng được tăng thêm một

Trong bài viết này, chúng ta đã tìm hiểu về cách xóa một dòng cụ thể khỏi tệp văn bản và lưu các dòng còn lại trong cùng một bài viết. Cùng với đó chúng ta đã học về cách duyệt toàn bộ tệp văn bản từ đầu đến cuối cũng như cách đọc và ghi dữ liệu vào tệp văn bản

Điều này là do

with open[inputFile, 'r'] as filedata:
9 tự gọi đệ quy cho đến khi tất cả các dòng từ tệp đầu vào đã được sử dụng hết. Tại thời điểm đó, ngăn xếp bắt đầu bật lên, với mỗi khung hình trả về
file.readlines[hint]
0. Vì
file.readlines[hint]
0 là falsey, mệnh đề
file.readlines[hint]
2 sẽ chạy, in ra dòng được sử dụng để gọi
with open[inputFile, 'r'] as filedata:
9 trong khung đó. Vì ngăn xếp bật lên từ trên xuống dưới nên các dòng được in theo thứ tự ngược lại

Python readline[] là một phương thức tệp giúp đọc một dòng hoàn chỉnh từ tệp đã cho. Nó có một dòng mới [“\n”] ở cuối chuỗi được trả về

Bạn cũng có thể sử dụng tham số kích thước để có được độ dài cụ thể của dòng. Tham số kích thước là tùy chọn và theo mặc định, toàn bộ dòng sẽ được trả về

Luồng của readline[] được hiểu rõ trong ảnh chụp màn hình hiển thị bên dưới

Bạn có một tập tin demo. txt và khi readline[] được sử dụng, nó sẽ trả về dòng đầu tiên từ bản demo. txt

Cách đọc hoạt động

Trong hướng dẫn này, bạn sẽ học

Đặc trưng của dòng đọc Python[]

Đây là những đặc điểm quan trọng của dòng đọc Python

  • Phương thức readline[] của Python chỉ đọc một dòng hoàn chỉnh từ tệp đã cho
  • Nó nối thêm một dòng mới [“\n”] ở cuối dòng
  • Nếu bạn mở tệp ở chế độ đọc bình thường, readline[] sẽ trả về cho bạn chuỗi
  • Nếu bạn mở tệp ở chế độ nhị phân, readline[] sẽ trả về cho bạn đối tượng nhị phân
  • Bạn có thể cung cấp kích thước làm đối số cho readline[] và nó sẽ giúp bạn nhận được dòng theo kích thước đã cho bao gồm cả dòng mới. Theo mặc định, kích thước là 0 và nó trả về toàn bộ dòng

cú pháp

file.readline[size]

Thông số

kích thước. [tùy chọn] Tại đây, bạn có thể chỉ định số, giá trị số nguyên cho readline[]. Nó sẽ nhận được chuỗi có kích thước đó. Theo mặc định, giá trị của kích thước là -1 và do đó toàn bộ chuỗi được trả về

Giá trị trả về

Phương thức readline[] trả về dòng từ tệp đã cho

Ví dụ. Để đọc dòng đầu tiên sử dụng readline[]

Ở đây sẽ hiểu cách đọc dòng từ tệp được cung cấp bằng phương thức readline[]. Chúng tôi sẽ sử dụng bản demo. txt vào đây để đọc nội dung

Nội dung file demo. txt như sau

thử nghiệm. txt

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

Sau đây là các bước để đọc một dòng từ tệp demo. txt

Bước 1]

Đầu tiên, mở tệp bằng phương thức tệp open[], như hình bên dưới

myfile = open["demo.txt", "r"]

Phương thức open[] lấy tham số đầu tiên là tên của tệp và tham số thứ hai là chế độ trong khi bạn muốn mở. Ngay bây giờ, chúng tôi đã sử dụng “r”, có nghĩa là tệp sẽ mở ở chế độ đọc

Bước 2]

Sử dụng phương thức readline[] để đọc dòng từ tệp demo. txt như hình bên dưới

________số 8

Bước 3]

Dòng đọc được lưu trữ bên trong myline. Bây giờ chúng ta hãy in dòng để xem chi tiết

print[myline]

Bước 4]

Sau khi đọc xong, hãy đóng tệp bằng phương thức close[] như hình bên dưới

with open[inputFile, 'r'] as filedata:
0

Toàn bộ mã như sau

with open[inputFile, 'r'] as filedata:
1

đầu ra

with open[inputFile, 'r'] as filedata:
2

Ví dụ. Sử dụng đối số kích thước trong readline[]

Chúng tôi đã thấy cách đọc toàn bộ dòng từ tệp đã cho. Bạn cũng có thể sử dụng tham số kích thước để chỉ nhận độ dài yêu cầu của dòng

Ví dụ đã cho có tham số kích thước được cho là 10. Dòng đầu tiên sẽ được tìm nạp và nó sẽ trả về dòng có các ký tự từ 0 đến 10

Chúng tôi sẽ sử dụng bản demo. txt được sử dụng trước đó. Lưu tập tin demo. txt và sử dụng vị trí của bản demo. txt bên trong hàm open[]

with open[inputFile, 'r'] as filedata:
3

đầu ra

with open[inputFile, 'r'] as filedata:
4

Tệp IO cơ bản trong Python

IO tệp cơ bản trong Python để mở tệp để đọc hoặc ghi là hàm open[] tích hợp sẵn. Hai đối số quan trọng trong hàm open[] là đường dẫn tệp, là một chuỗi và chế độ xác định xem tệp được dùng để đọc hay ghi. Đối số chế độ là một chuỗi

cú pháp

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line
0

Sau đây là các chế độ có sẵn có thể được sử dụng với phương thức open[]

ModeDescripRĐiều này sẽ mở [] tệp ở chế độ đọc. Sử dụng we, bạn có thể ghi vào tập tin. Sử dụng với open[] sẽ mở tệp ở chế độ ghi và nội dung sẽ được thêm vào cuối. rbChế độ rb sẽ mở tệp để đọc dữ liệu nhị phân. wbChế độ wb sẽ mở tệp để ghi dữ liệu nhị phân

Vì chúng tôi cần tệp để đọc, chúng tôi sẽ sử dụng chế độ đọc i. e. [r]

Đọc từng dòng tệp trong Python

Phương thức readline[] giúp chỉ đọc một dòng tại một thời điểm và nó trả về dòng đầu tiên từ tệp đã cho

Ở đây, chúng tôi sẽ sử dụng readline[] để đọc tất cả các dòng từ tệp đã cho. Tệp sẽ đọc là bản demo. txt. Nội dung của tập tin là

Lưu tập tin demo. txt và sử dụng vị trí của bản demo. txt bên trong hàm open[]

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

Sử dụng readline[] bên trong vòng lặp while sẽ đảm nhiệm việc đọc tất cả các dòng có trong tệp demo. txt

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line
2

đầu ra

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

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?

Để đọc tất cả các dòng từ một tệp nhất định, bạn có thể sử dụng hàm readlines[] của Python. Điểm đặc biệt của hàm readlines[] trong Python là đọc tất cả nội dung từ tệp đã cho và lưu kết quả đầu ra trong danh sách

Hàm readlines[] đọc cho đến hết tệp, sử dụng hàm readline[] bên trong và trả về một danh sách với tất cả các dòng được đọc từ tệp

Đây là một ví dụ hoạt động để đọc tất cả các dòng từ tệp bằng readlines[]

Tệp mà chúng ta sẽ sử dụng là tệp test. txt. Lưu tập tin kiểm tra. txt và sử dụng vị trí kiểm tra. txt bên trong hàm open[]

Chủ Đề