直接定位倒数第N个字符,然后截断即可
import os
file_old = open('D:/EEG/LXP/FRAG1/FZ_H_ch5.txt', 'rb+')
n = 6
# 定位倒数第n个字符
file_old.seek(-n, os.SEEK_END)
# 截断之后的数据
file_old.truncate()
file_old.close()
是不是即简单有高效,其实OS库大多数编程语言都有,C++、JAVA等改一下格式也可实现该功能,要是超过1G的大型文件,建议使用文件映射读取文件,这段代码也适用
source = open('./input.txt', 'r')
done = 0 # 作为文件是否读结束的标志
index = 0 # 标记最后一个非空行的位置
count = 0 # 记录当前行的行数
while not done:
# 使用readline避免内存载入过大玩意
line = source.readline()
count += 1
if line != str():
# 说明文件没读结束
工作的时候,需要重复批量处理TXT文本数据,当需要处理的文件太多时就有点费时间,在网上看了些代码,结合自己浅薄的理解,勉强实现了,做个记录,等以后再来看看有没有再接着改善的机会。
import os
import fileinput #提供几种办法,这个库不一定需要
for i in os.listdir('文本路径'): #例举出文件夹下面所有的文件名
domain = os.path.abspath('文本路径')
file = os.path.join(domain.i) #把文件名和文件路
python操作txt文件中数据教程[1]-使用python读写txt文件
python操作txt文件中数据教程[2]-python提取txt文件中的行列元素
python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转...
打开文件后逐行读取同时记录指针位置,由于读取完一行后指针位于行尾,所以在读取完最后一行后需要将指针移到上一行末尾然后调用f.truncate()。为存储倒数第二行末尾的位置,我们需要一个1 ×\times× 2的数组存储文件指针位置:
# 打开文件,由于只有二进制模式才支持移动指针操作,所以第二个参数要有'b'。
f = open('test.txt', 'rb+')
line = ...
lines = file.readlines()
del lines[-1] # 删除最后一行
del lines[0:16] # 删除第1行到第17行
file.close()
file_new = open('test.txt','w')
file_new.writelines(lines) # 将删除行后的数据写入文件
file_new.close()
这段代码首先打开文件并读取所有行。然后,它将文件指针移动到文件的开头,并截断文件内容。最后,它将除了最后一行的所有行重新写入文件中,从而实现删除最后一行的效果。
#### 引用[.reference_title]
- *1* [python删除文本文件中最后一个换行符](https://blog.csdn.net/he_min/article/details/77500798)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [python删除文件最后一行](https://blog.csdn.net/FZUMRWANG/article/details/82945545)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]