如何从文件中的每行中删除最后4个字符?python

2024-09-30 08:25:41 发布

您现在位置:Python中文网/ 问答频道 /正文

有谁能给我一些建议,如何创建一个循环,从输入文件的每一行中剪切最后4个字符

我试过:

myfile =  open('delete.txt', 'w+') 
myfile.read()
for line in myfile:
        line = line[:3]
       
myfile.close()

该文件的格式如下:

Awks,1er,xyz,lon,thr,tkj,,^M
Atks,1er,xyz,lon,thr,toj,,^M
Ahks,1er,xyz,lon,thr,taj,,^M
Auks,1er,xaz,lon,thr,tej,,^M
Aqks,1er,xyz,lon,thr,twj,,,^M
Aoks,1er,xaz,lon,thr,twj,,^M
Apks,1er,xwz,lon,thr,trj,,^M
Alks,1er,xuz,lon,thr,toe,,^M
ssks,1er,xoz,lon,thr,toj,,^M
ssks,1er,xnz,lon,thr,tog,,,^M

Tags: 文件txtlineopendeletemyfile建议lon
1条回答
网友
1楼 · 发布于 2024-09-30 08:25:41

正如一些评论所说,打开输入文件并将输出写入单独的文件可能更安全

使用with块很方便,因为您不需要处理关闭文件的问题;您的文件将在块的末尾自动关闭

我会这样做:

with open('input.txt', 'r') as infile:
    with open('output.txt', 'w') as outfile:
        for line in infile:
            outfile.write(line[:-5])
            outfile.write('\n')

line[:-5]将删除每行的最后五个字符,这可能是您想要的,因为每行还包含一个换行符,因此它将删除换行符和四个字符。我们outfile.write('\n')因为新行被删除了,我们想要它回来

相关问题 更多 >

    热门问题