Hướng dẫn remove text from txt file python - xóa văn bản khỏi tệp txt python

Tôi nghĩ rằng nếu bạn đọc tệp vào một danh sách, thì hãy thực hiện bạn có thể lặp qua danh sách để tìm biệt danh bạn muốn thoát khỏi. Bạn có thể làm điều đó một cách hiệu quả mà không cần tạo các tệp bổ sung, nhưng bạn sẽ phải viết kết quả trở lại tệp nguồn.

Đây là cách tôi có thể làm điều này:

import, os, csv # and other imports you need
nicknames_to_delete = ['Nick', 'Stephen', 'Mark']

Tôi đang giả sử

 nicknames = None
 with open("nicknames.csv") as sourceFile:
     nicknames = sourceFile.read().splitlines()
0 chứa dữ liệu như:

Nick
Maria
James
Chris
Mario
Stephen
Isabella
Ahmed
Julia
Mark
...

Sau đó tải tệp vào danh sách:

 nicknames = None
 with open("nicknames.csv") as sourceFile:
     nicknames = sourceFile.read().splitlines()

Tiếp theo, lặp lại vào danh sách để phù hợp với đầu vào của bạn để xóa:

for nick in nicknames_to_delete:
     try:
         if nick in nicknames:
             nicknames.pop(nicknames.index(nick))
         else:
             print(nick + " is not found in the file")
     except ValueError:
         pass

Cuối cùng, viết kết quả trở lại tệp:

with open("nicknames.csv", "a") as nicknamesFile:
    nicknamesFile.seek(0)
    nicknamesFile.truncate()
    nicknamesWriter = csv.writer(nicknamesFile)
    for name in nicknames:
        nicknamesWriter.writeRow([str(name)])
nicknamesFile.close()

Bài viết liên quan

Nếu bạn thấy bài đăng này hữu ích và muốn tìm hiểu thêm về lập trình với Python, hãy theo dõi các liên kết này đến các bài viết tuyệt vời hơn từ nhóm của chúng tôi tại Python cho người mới bắt đầu. Cho dù đó là xử lý tập tin và quản lý dữ liệu, bạn sẽ học được các kỹ năng cần thiết để phát triển mạnh trong thế giới kỹ thuật số thay đổi nhanh chóng ngày nay.

Xử lý lỗi nâng cao với Python thử ngoại trừ

Hướng dẫn remove text from txt file python - xóa văn bản khỏi tệp txt python

Danh sách Python Hiểu để quản lý dữ liệu dễ dàng hơn

Khuyến nghị đào tạo Pythonwrite mode will automatically delete the file’s contents. The open() function takes two arguments, the text file we’d like to open and the mode we’re opening it in.

Khóa học: Python 3 cho người mới bắt đầu

file_to_delete = open("info.txt",'w')
file_to_delete.close()

Hơn 15 giờ nội dung video với hướng dẫn hướng dẫn cho người mới bắt đầu. Tìm hiểu làm thế nào để tạo các ứng dụng trong thế giới thực và làm chủ những điều cơ bản.with statement simplifies exception handling. Using with to open a file in write mode will also clear its data. A pass statement completes the example.

# clear the data in the info file
with open("info.txt",'w') as file:
    pass

Mặc dù các chương trình thường được sử dụng để tạo tệp, nhưng có những lúc các lập trình viên cũng cần xóa dữ liệu tệp. May mắn thay, có nhiều cách để xóa văn bản từ một tệp. Trong bài đăng này, chúng tôi sẽ sử dụng một số ví dụ đơn giản để chứng minh cách xóa tệp văn bản bằng Python.

Bằng cách sử dụng một số công cụ tiêu chuẩn Python, chúng ta có thể mở, đọc và xóa các tệp văn bản. Chúng tôi cũng sẽ học cách xóa các dòng cụ thể khỏi tệp văn bản bằng ký hiệu lát cắt.

Python đơn giản hóa quá trình xử lý tệp, dẫn đến các chương trình cô đọng hơn. Kết quả của việc nghiên cứu hướng dẫn này, bạn sẽ hiểu làm thế nào Python có thể xóa các tệp văn bản và xóa các dòng dữ liệu.

Xóa tệp văn bản bằng hàm Open () ở chế độ ghi

Mở một tệp trong chế độ ghi sẽ tự động xóa nội dung của tệp. Hàm Open () có hai đối số, tệp văn bản mà chúng tôi muốn mở và chế độ chúng tôi mở ra.
Guido van Rossum created Python in 1991.
Python is a general purpose programming language.
One of Python’s strengths is readability.

with open("info.txt",'r+') as file:
    file.truncate(16)

# read the file’s contents
with open("info.txt", 'r') as file:
    lines = file.readlines()
    for line in lines:
        print(line)

Đầu ra

Guido van Rossum

Trong ví dụ trên, phương thức cắt ngắn () đã giảm tệp xuống 16 ký tự đầu tiên của văn bản. Lưu ý rằng chúng tôi đã mở tệp ở cả chế độ đọc và ghi. Điều này là cần thiết để phương pháp cắt ngắn hoạt động.

Bằng cách chuyển giá trị 0 cho phương thức cắt ngắn (), nó có thể xóa hoàn toàn tệp văn bản.0 to the truncate() method, it’s possible to clear the text file completely.

with open("example.txt",'r+') as file:
    file.truncate(0)

Mã Python ở trên sẽ xóa một tệp văn bản của nội dung của nó. Sử dụng phương thức cắt () theo cách này sẽ giảm kích thước tệp xuống 0, xóa bất kỳ nội dung nào mà tệp chứa.

Xóa tệp văn bản bằng cách cắt danh sách Python

Với ký hiệu lát cắt Python, nó có thể truy xuất một tập hợp con của danh sách, chuỗi hoặc tuple. Sử dụng tính năng Python này, chúng ta có thể xác định các chỉ mục bắt đầu và kết thúc của một tập hợp con nhất định.

Ký hiệu lát cắt sử dụng một cú pháp đặc biệt để tìm một tập hợp con của một loạt các giá trị. Sau đây & nbsp; Ví dụ cho thấy cách ký hiệu lát cắt hoạt động. Bằng cách xác định bắt đầu, kết thúc và bước của lát cắt, chúng tôi sẽ có được một tập hợp con của danh sách ban đầu.

Nick
Maria
James
Chris
Mario
Stephen
Isabella
Ahmed
Julia
Mark
...
0

Đầu ra

Nick
Maria
James
Chris
Mario
Stephen
Isabella
Ahmed
Julia
Mark
...
1

Tiếp theo, chúng tôi sẽ sử dụng cùng một tài liệu Info.txt từ phần trước để chứng minh cách sử dụng ký hiệu lát cắt để xóa các dòng khỏi tệp văn bản. Phương thức Readlines () sẽ trả về một danh sách các dòng văn bản trong tài liệu.

Sau khi các dòng được trích xuất, chúng tôi có thể sử dụng ký hiệu lát cắt để tạo một danh sách mới mà chúng tôi sẽ sử dụng để ghi đè lên tệp cũ. Chỉ những dòng đầu tiên của văn bản sẽ vẫn còn. Những người khác sẽ được xóa khỏi tệp văn bản.

Nick
Maria
James
Chris
Mario
Stephen
Isabella
Ahmed
Julia
Mark
...
2

Đầu ra

Nick
Maria
James
Chris
Mario
Stephen
Isabella
Ahmed
Julia
Mark
...
3

Cách xóa các dòng cụ thể khỏi tệp văn bản

Sử dụng một số hàm Python phổ biến, chúng tôi cũng có thể xóa các dòng dữ liệu cụ thể khỏi các tệp văn bản. Nó đặc biệt hữu ích nếu chúng ta biết những dòng chúng ta muốn loại bỏ trước thời hạn. Trong trường hợp đó, chúng ta có thể sử dụng ký hiệu lát cắt để truy xuất một tập hợp con của tệp.

Bằng cách viết qua một tệp với một tập hợp con dữ liệu của nó, chúng ta có thể xóa các dòng văn bản. Các ví dụ sau đây sử dụng một đoạn trích từ bài thơ Giấc mơ được hoãn lại bởi nhà văn người Mỹ Langston Hughes.

Dream.txt Điều gì xảy ra với một giấc mơ bị trì hoãn? Nó có làm khô một nho khô dưới ánh mặt trời không?
What happens to a dream deferred?
Does it dry up
Like a raisin in the sun?

Xóa dòng đầu tiên của tệp văn bản

Để xóa dòng văn bản đầu tiên khỏi một tệp, chúng tôi sẽ cần sử dụng một vài phương thức xử lý tệp Python. Đầu tiên, chúng tôi sẽ sử dụng các readlines () để có được danh sách dữ liệu văn bản của tệp. Với phương thức Seek (), chúng ta có thể định vị lại vị trí con trỏ tệp theo cách thủ công.

Thứ hai, chúng ta có thể sử dụng phương thức cắt ngắn () để thay đổi kích thước tệp. Thứ ba, chúng tôi sẽ viết một danh sách mới các dòng vào tệp. Sử dụng ký hiệu lát cắt, nó có thể bỏ qua dòng đầu tiên của tệp gốc.

Nick
Maria
James
Chris
Mario
Stephen
Isabella
Ahmed
Julia
Mark
...
4

Đầu ra

Nick
Maria
James
Chris
Mario
Stephen
Isabella
Ahmed
Julia
Mark
...
5

Xóa nhiều dòng khỏi tệp văn bản

Nó cũng có thể xóa nhiều dòng văn bản khỏi một tệp. Với ký hiệu lát cắt, chúng tôi có thể tạo bất kỳ tập hợp con nào của dữ liệu chúng tôi muốn. Sử dụng phương pháp ghi đè tệp gốc này, chúng tôi có thể xóa một cách hiệu quả tệp của bất kỳ dữ liệu không mong muốn nào.

Bằng cách thay đổi các chỉ mục bắt đầu và kết thúc của lát cắt, chúng tôi sẽ nhận được một tập hợp con khác của tệp Dream.txt. Nó cũng có thể kết hợp các danh sách thái lát. Sử dụng các công cụ này cung cấp nhiều tính linh hoạt khi tạo ra các tập hợp con danh sách.

Nick
Maria
James
Chris
Mario
Stephen
Isabella
Ahmed
Julia
Mark
...
6

Đầu ra

Nick
Maria
James
Chris
Mario
Stephen
Isabella
Ahmed
Julia
Mark
...
7

Cách xóa tệp văn bản bằng chuỗi

Điều gì sẽ xảy ra nếu chúng ta muốn xóa một dòng khỏi một chuỗi chứa một từ, cụm từ hoặc số nhất định? Chúng ta có thể sử dụng câu lệnh Python IF để kiểm tra dữ liệu chuỗi của từng dòng. Nếu chuỗi mà chúng tôi đang tìm kiếm nằm trong dòng, chúng tôi có thể tránh bao gồm nó trong tệp đầu ra.if statement to check the string data of each line. If the string we’re looking for is in the line, we can avoid including it in the output file.

nhân viên.txtname: Jamie Jamesonage: 37CoCupation: copywriterstarting Ngày: ngày 3 tháng 4 năm 2019
Name: Jamie Jameson
Age: 37
Occupation: Copywriter
Starting Date: April 3, 2019

Trong ví dụ này, chúng ta cần mở tập tin ba lần. Để bắt đầu, chúng tôi sẽ mở tệp để trích xuất nội dung của nó. Tiếp theo, chúng tôi sẽ viết dữ liệu vào một tệp mới, xóa các dòng chúng tôi không muốn. Cuối cùng, chúng tôi sẽ cần mở tệp và đọc nó để chứng minh rằng tệp được xử lý chính xác.

Nick
Maria
James
Chris
Mario
Stephen
Isabella
Ahmed
Julia
Mark
...
8

Đầu ra

Nick
Maria
James
Chris
Mario
Stephen
Isabella
Ahmed
Julia
Mark
...
9

Bản tóm tắt

Trong bài đăng này, chúng tôi đã xem xét sâu về cách xóa các tệp văn bản bằng Python. Chúng tôi đã thấy rằng ngôn ngữ Python cung cấp nhiều tùy chọn để hoàn thành nhiệm vụ này. Sử dụng một số phương thức và chức năng đạt tiêu chuẩn với mỗi cài đặt của Python, chúng tôi có thể xóa toàn bộ tệp cũng như xóa các dòng cụ thể khỏi một tệp.

Mặc dù các công cụ như ký hiệu lát cắt rất tốt để xóa các tệp văn bản, nhưng chúng cũng có ích ở các lĩnh vực khác. Theo cách này, mỗi tính năng mới của Python mà bạn nghiên cứu sẽ cải thiện khả năng mã hóa tổng thể của bạn.

Bài viết liên quan

Nếu bạn thấy bài đăng này hữu ích và muốn tìm hiểu thêm về lập trình với Python, hãy theo dõi các liên kết này đến các bài viết tuyệt vời hơn từ nhóm của chúng tôi tại Python cho người mới bắt đầu. Cho dù đó là xử lý tập tin và quản lý dữ liệu, bạn sẽ học được các kỹ năng cần thiết để phát triển mạnh trong thế giới kỹ thuật số thay đổi nhanh chóng ngày nay.

  • Xử lý lỗi nâng cao với Python thử ngoại trừ
  • Danh sách Python Hiểu để quản lý dữ liệu dễ dàng hơn

Khuyến nghị đào tạo Python

Khóa học: Python 3 cho người mới bắt đầu

Hơn 15 giờ nội dung video với hướng dẫn hướng dẫn cho người mới bắt đầu.Tìm hiểu làm thế nào để tạo các ứng dụng trong thế giới thực và làm chủ những điều cơ bản.