当前位置: 代码迷 >> python >> 从另一个文件写入文件并从文件删除行
  详细解决方案

从另一个文件写入文件并从文件删除行

热度:75   发布时间:2023-07-14 08:43:57.0

我的文件(outputfile6.txt)是:

1?????? 2????? 3????? 4.
5????? 6????????? 7????? 8???????? 9.
10????? 11???? 12?????? 13.
14????? 15?????????? 16??????????? 17???? 18.
19????? 20??????? 21?????????? 22?????? 23????? 24????????? 25. 
26????? 27??????? 28?????? 29????????? 30????? 31.
32????? 33??????? 34?????????? 35.
36?????????? 37????? 38????? 39.
40???? 41?????????? 42???????? 43.
44? 45?? 46??? 47????? 48????? 49???????? 50.

是否可以根据行号将这些行写入另一个文件?
例如:从第1行到第5行打印。之后,我要删除那些写入另一个文件的行。 这应该一直持续到EOF。
由于以上概念是我的代码的一部分,因此我无法透露我的整个代码。
为了我的工作。 首先,我找到了我的开始句子。 然后找到我想要的最后一句话。

fp = codecs.open('outputfile6.txt', encoding='utf-8')
lines1 = fp.readlines()
fp.close()
fb = codecs.open('outputfile7.txt', 'w')
write=0
for l in lines1:
    if i in l:#i is my search item which contains in the starting sentence.
        write=1
    if write==1:
        fb.write(l.encode('UTF-8'))
    if line_upto in l:#line_upto is a string which contains in the lastsentence
        write=0
        break
fb.close()#Here i didn't get a code for deleting lines from the file.

我的输出是:
我总是得到与outputfile6.txt相同的outputfile7.txt
我期望的outputfile7.txt是:

1?????? 2????? 3????? 4.  
5????? 6????????? 7????? 8???????? 9.  
10????? 11???? 12?????? 13.  
14????? 15?????????? 16??????????? 17???? 18.    
19????? 20??????? 21?????????? 22?????? 23????? 24????????? 25.   

我得到了删除行的代码:

这是我要从文件中删除的行号。

fp = codecs.open('outputfile6.txt', encoding='utf-8')
lines1 = fp.readlines()
fp.close()
fb = codecs.open('outputfile6.txt', 'w')
for j in range(0,len(lines1)):
    if j>end:
        fb.write(lines1[j].encode('UTF-8'))

fb.close()

如果将此代码正确附加到上面的代码,将获得预期的输出。

  相关解决方案