Làm cách nào để xóa dòng cuối cùng của tệp bằng python?Xóa dòng cuối cùng trong tệp bằng python
Input dụ File:
hello
world
foo
bar
Output File ví dụ:
hello
world
foo
tôi đã tạo ra các mã sau đây để tìm số dòng trong file - nhưng tôi không biết làm thế nào để xóa số dòng cụ thể. Tôi mới làm quen với python - vì vậy nếu có một cách dễ dàng hơn - hãy cho tôi biết.
try:
file = open("file")
except IOError:
print "Failed to read file."
countLines = len(file.readlines())
EDIT:
I figured it out sử dụng nhiều câu trả lời: Chủ yếu là một cái gì đó của Strawberry và tôi thấy trong các trang web (xin lỗi, tôi không thể tìm thấy liên kết).
#!/usr/bin/env python
import os, sys
readFile = open("file")
lines = readFile.readlines()
readFile.close()
w = open("file",'w')
w.writelines([item for item in lines[:-1]])
w.close()
bạn đang cố gắng để thực sự loại bỏ các dòng từ tập tin, trên đĩa? Nếu vậy, hãy đảm bảo bạn hiểu rằng các tệp không có "dòng" từ quan điểm của hệ thống tệp. Các dòng là một quy ước của các lập trình viên và các chương trình. Những gì bạn thấy là một "dòng" là một chuỗi các byte ở đâu đó ở giữa nhiều byte khác. Để xóa "dòng" cuối cùng, bạn có thể cắt bớt tệp tại byte tương ứng với ký tự đầu tiên trong dòng. Đó không phải là khó khăn (bạn chỉ cần phải tìm nó), nhưng không có nhiều điểm nếu các tập tin có liên quan không có nhiều megabyte trong kích thước. –
Điều gì sẽ xảy ra nếu dòng cuối cùng là dòng trống? – FogleBird
Dòng cuối cùng không được để trống. Tôi xóa tất cả các dòng trống bằng đoạn mã python khác (từ google). – torger