Hầu hết thời gian, khi làm việc với trình bao/thiết bị đầu cuối tương tác Python [không phải bảng điều khiển], chúng tôi kết thúc với một đầu ra lộn xộn và muốn xóa màn hình vì một số lý do. Trong shell/terminal tương tác, chúng ta chỉ cần sử dụng
ctrl+l
Nhưng, nếu chúng ta muốn xóa màn hình trong khi chạy tập lệnh python thì sao? . Vì vậy, chúng tôi làm điều đó một mình
Xóa màn hình trong hệ điều hành windows
Phương pháp 1. Xóa màn hình trong Python bằng cls
Bạn chỉ cần “cls” để xóa màn hình trong windows
Python3
import
os
# Clearing the Screen
os.system[
'cls'
]
ví dụ 2. Xóa màn hình trong Python bằng cách sử dụng rõ ràng
Bạn cũng chỉ có thể “nhập hệ điều hành” thay vì “từ hệ thống nhập hệ điều hành” nhưng cùng với đó, bạn phải thay đổi hệ thống ['xóa'] thành hệ điều hành. hệ thống ['xóa'].
Python3
# import only system from os
from
os
import
import
1
import
2
from
import
4import
import
6
import
7
import
8 import
9
os
0os
1
os
0_______31_______3 os
4os
5_______31_______5 os
7os
8
os
9_______32_______0os
5 # Clearing the Screen
2'cls'
]
os
0____32_______6
os
0_______32_______8os
8
os
9_______32_______0os
5 # Clearing the Screen
2os.system[
4]
os.system[
6
os.system[
7_______33_______8os.system[
9'cls'
0'cls'
1]
'cls'
3
'cls'
4'cls'
5]
'cls'
7
'cls'
8
ví dụ 3. Xóa màn hình trong Python bằng lệnh gọi
Một cách khác để thực hiện điều này là sử dụng mô-đun quy trình con.
Python3
'cls'
9
from
]
1_______30_______ ]
3
import
2
from
import
4import
import
6
]
9
import
8 import
9
os
0# import only system from os
3
os
0_______32_______0os
5 # import only system from os
7_______33_______4 os
3 from
0os
5os
5 from
3 # Clearing the Screen
8 'cls'
]
Bài viết này cho bạn biết cách xóa các dòng cụ thể khỏi một tệp trong Python. Ví dụ bạn muốn xóa dòng #5 và #12
Sau khi đọc bài viết này, bạn sẽ học được
- Cách xóa các dòng cụ thể khỏi tệp theo số dòng
- Cách xóa các dòng khớp hoặc chứa văn bản/chuỗi đã cho
- Cách xóa dòng đầu tiên và dòng cuối cùng khỏi tệp văn bản
Mục lục
Xóa các dòng khỏi tệp theo số dòng
Vui lòng làm theo các bước dưới đây để xóa các dòng cụ thể khỏi tệp văn bản theo số dòng. –
- Mở tệp ở chế độ đọc
- đọc một tập tin. Đọc tất cả nội dung từ một tệp vào danh sách bằng phương pháp
First line Second line Third line Fourth line Sixth line Seventh line
6. ở đây mỗi phần tử của danh sách là một dòng từ tệp - Đóng một tập tin
- Một lần nữa, mở cùng một tệp trong chế độ ghi
- Lặp lại tất cả các dòng từ danh sách bằng cách sử dụng vòng lặp for và hàm. Hàm
First line Second line Third line Fourth line Sixth line Seventh line
7 thêm bộ đếm vào một lần lặp [chẳng hạn như danh sách, chuỗi] và trả về nó trong đối tượng liệt kê. Chúng tôi đã sử dụng đối tượng liệt kê với vòng lặp for để truy cập số dòng - Sử dụng trong mỗi lần lặp của vòng lặp để kiểm tra số dòng. Nếu trùng với số dòng cần xóa thì không ghi dòng đó vào file
- Đóng một tập tin
Ví dụ
Đoạn mã sau cho biết cách xóa các dòng khỏi 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 xóa dòng 5 và 8
# list to store file lines
lines = []
# read file
with open[r"E:\demos\files\sample.txt", 'r'] as fp:
# read an store all lines into list
lines = fp.readlines[]
# Write file
with open[r"E:\demos\files\sample.txt", 'w'] as fp:
# iterate each line
for number, line in enumerate[lines]:
# delete line 5 and 8. or pass any Nth line you want to remove
# note list index starts from 0
if number not in [4, 7]:
fp.write[line]
Mã của chúng tôi đã xóa hai dòng. Đây là một dữ liệu hiện tại của một tập tin
First line Second line Third line Fourth line Sixth line Seventh line
Ghi chú
Hàm
First line Second line Third line Fourth line Sixth line Seventh line7 thêm bộ đếm vào một lần lặp [chẳng hạn như danh sách, chuỗi] và trả về nó trong đối tượng
First line Second line Third line Fourth line Sixth line Seventh line9. Chúng tôi đã sử dụng đối tượng
First line Second line Third line Fourth line Sixth line Seventh line9 với vòng lặp
with open[r"E:\demos\files\sample.txt", 'r+'] as fp:
# read an store all lines into list
lines = fp.readlines[]
# move file pointer to the beginning of a file
fp.seek[0]
# truncate the file
fp.truncate[]
# start writing lines
# iterate line and line number
for number, line in enumerate[lines]:
# delete line number 5 and 8
# note: list index start from 0
if number not in [4, 7]:
fp.write[line]
1 để truy cập số dòng. First line Second line Third line Fourth line Sixth line Seventh line7 không tải toàn bộ danh sách trong bộ nhớ, vì vậy đây là một giải pháp hiệu quả
Ghi chú. Không sử dụng
with open[r"E:\demos\files\sample.txt", 'r+'] as fp:
# read an store all lines into list
lines = fp.readlines[]
# move file pointer to the beginning of a file
fp.seek[0]
# truncate the file
fp.truncate[]
# start writing lines
# iterate line and line number
for number, line in enumerate[lines]:
# delete line number 5 and 8
# note: list index start from 0
if number not in [4, 7]:
fp.write[line]
3 từ khóa để xóa các dòng khỏi danh sách và ghi danh sách đó vào tệp. Bởi vì khi bạn xóa một dòng khỏi danh sách, chỉ mục của mục đó sẽ bị thay đổi. Vì vậy, bạn sẽ không còn có thể xóa đúng dòngSử dụng phương thức seek[]
Điều tương tự cũng có thể được thực hiện bằng cách sử dụng phương thức seek[] bằng cách thay đổi vị trí con trỏ để chúng ta không cần mở tệp hai lần
- Mở tệp trong [
4]with open[r"E:\demos\files\sample.txt", 'r+'] as fp: # read an store all lines into list lines = fp.readlines[] # move file pointer to the beginning of a file fp.seek[0] # truncate the file fp.truncate[] # start writing lines # iterate line and line number for number, line in enumerate[lines]: # delete line number 5 and 8 # note: list index start from 0 if number not in [4, 7]: fp.write[line]
- Đọc tất cả các dòng từ một tệp vào danh sách
- Di chuyển con trỏ tệp đến đầu tệp bằng phương pháp
5with open[r"E:\demos\files\sample.txt", 'r+'] as fp: # read an store all lines into list lines = fp.readlines[] # move file pointer to the beginning of a file fp.seek[0] # truncate the file fp.truncate[] # start writing lines # iterate line and line number for number, line in enumerate[lines]: # delete line number 5 and 8 # note: list index start from 0 if number not in [4, 7]: fp.write[line]
- Cắt bớt tệp bằng phương pháp
6with open[r"E:\demos\files\sample.txt", 'r+'] as fp: # read an store all lines into list lines = fp.readlines[] # move file pointer to the beginning of a file fp.seek[0] # truncate the file fp.truncate[] # start writing lines # iterate line and line number for number, line in enumerate[lines]: # delete line number 5 and 8 # note: list index start from 0 if number not in [4, 7]: fp.write[line]
- Lặp lại danh sách bằng vòng lặp và hàm
First line Second line Third line Fourth line Sixth line Seventh line
7 - Trong mỗi lần lặp, ghi dòng hiện tại vào tệp. Bỏ qua những số dòng mà bạn muốn loại bỏ
Ví dụ
Xóa dòng đầu tiên và dòng cuối cùng của tệp
Để xóa có chọn lọc một số nội dung khỏi tệp, chúng ta cần sao chép nội dung của tệp ngoại trừ những dòng chúng tôi muốn xóa và ghi lại các dòng còn lại vào cùng một tệp
Sử dụng các bước dưới đây để xóa dòng đầu tiên khỏi tệp
- Mở tệp ở chế độ đọc và ghi [______8_______4]
- Đọc tất cả các dòng từ một tập tin
- Di chuyển con trỏ tệp ở đầu tệp bằng phương pháp
5with open[r"E:\demos\files\sample.txt", 'r+'] as fp: # read an store all lines into list lines = fp.readlines[] # move file pointer to the beginning of a file fp.seek[0] # truncate the file fp.truncate[] # start writing lines # iterate line and line number for number, line in enumerate[lines]: # delete line number 5 and 8 # note: list index start from 0 if number not in [4, 7]: fp.write[line]
- Cắt bớt tập tin
- Viết tất cả các dòng từ một tệp ngoại trừ dòng đầu tiên
with open[r"E:\demos\files\sample.txt", 'r+'] as fp:
# read an store all lines into list
lines = fp.readlines[]
# move file pointer to the beginning of a file
fp.seek[0]
# truncate the file
fp.truncate[]
# start writing lines except the first line
# lines[1:] from line 2 to last line
fp.writelines[lines[1:]]
đầu ra
Trước khi xóa dòng đầu tiên
First line Second line Third line Fourth line Sixth line Seventh line
Sau khi xóa dòng đầu tiên
Second line Third line Fourth line Sixth line Seventh line
Để xóa N dòng đầu tiên, hãy sử dụng danh sách cắt
# lines[N:] to delete first 5 lines
fp.writelines[lines[4:]]
Nếu bạn đang đọc một tệp và không muốn đọc dòng đầu tiên, hãy sử dụng phương pháp bên dưới thay vì xóa một dòng khỏi tệp
# read from second line
lines = fp.readlines[][1:]
Sử dụng ví dụ dưới đây để thực hiện các bước xóa dòng cuối cùng khỏi tệp
with open[r"E:\demos\files\sample.txt", 'r+'] as fp:
# read an store all lines into list
lines = fp.readlines[]
# move file pointer to the beginning of a file
fp.seek[0]
# truncate the file
fp.truncate[]
# start writing lines except the last line
# lines[:-1] from line 0 to the second last line
fp.writelines[lines[:-1]]
Để xóa N dòng cuối cùng, hãy sử dụng danh sách cắt
# lines[:-N] to delete last N lines
fp.writelines[lines[:-4]]
Xóa các dòng khớp với một văn bản [chuỗi]
Giả sử các tệp chứa hàng trăm dòng và bạn muốn xóa các dòng khớp với chuỗi/văn bản đã cho. Hãy xem cách xóa các dòng khớp với văn bản đã cho [khớp chính xác]
bước
- Đọc tệp vào một danh sách
- Mở cùng một tệp trong chế độ ghi
- Lặp lại một danh sách và ghi từng dòng vào một tệp ngoại trừ những dòng khớp với chuỗi đã cho
ví dụ 1. Xóa các dòng khớp với văn bản đã cho [khớp chính xác]
First line Second line Third line Fourth line Sixth line Seventh line0
Ngoài ra, bạn có thể đạt được nó bằng cách sử dụng vòng lặp đơn nên sẽ nhanh hơn nhiều
First line Second line Third line Fourth line Sixth line Seventh line1
Xóa các dòng có chứa một từ cụ thể
Trong một số trường hợp, chúng tôi có thể phải xóa các dòng khỏi tệp chứa từ khóa hoặc thẻ cụ thể. Hãy xem ví dụ để xóa các dòng khỏi tệp chứa một chuỗi cụ thể ở bất kỳ đâu trong dòng
Ví dụ
First line Second line Third line Fourth line Sixth line Seventh line2
Xóa các dòng bắt đầu bằng từ/chuỗi cụ thể
Tìm hiểu cách xóa các dòng khỏi tệp bắt đầu bằng một từ cụ thể. Trong ví dụ sau, chúng tôi sẽ xóa các dòng bắt đầu bằng từ ‘thời gian‘
Ví dụ
First line Second line Third line Fourth line Sixth line Seventh line3
Xóa văn bản cụ thể khỏi tệp văn bản
Cũng có thể xảy ra trường hợp bạn muốn xóa một chuỗi cụ thể khỏi một tệp chứ không phải dòng chứa chuỗi đó. Hãy xem ví dụ tương tự
First line Second line Third line Fourth line Sixth line Seventh line4
Xóa tất cả các dòng khỏi một tệp
Để xóa tất cả các dòng trong một tệp và làm trống tệp, chúng ta có thể sử dụng phương thức truncate[] trên đối tượng tệp. Phương thức truncate[] xóa tất cả các dòng khỏi tệp và đặt con trỏ tệp về đầu tệp