问题描述
我的文件(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.
1楼
我得到了删除行的代码:
这是我要从文件中删除的行号。
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()
如果将此代码正确附加到上面的代码,将获得预期的输出。