只是想知道最简单的方法是什么..我有一个包含以下内容的文件:
01 04
02 04
04 04
我打算编辑我的文件,将“缺少追加到文件中,因为04表示有4个项目,但缺少3个数据:
01 04
02 04
#missing
04 04
最简单的方法是什么?我很确定这是一个简单的修复,只是我是python的新手,我一直在尝试非常冗长的方法来实现它。
希望从这里听到一些消息,谢谢大家!
答案 0 :(得分:4)
with open('path') as f:
for i, line in enumerate(f, start=1):
if int(line.split()[0]) == i:
pass
else:
#put missing
我没试过这段代码。这只是概念。
答案 1 :(得分:0)
使用其他文件,然后用它替换文件。
text = file('file_name','r').read() // read from file
list = '00 00' + [line for line in text]
new_list = []
l=len(list)
for i in xrange(1,l):
new_list+=['missing' for i in range(int(list[i].split()[0])-int(list[i-1].split()[0])+1)]
new_list.append(list[i])
然后将new_list写入文件,然后用此文件替换您的文件
答案 2 :(得分:0)
试试这个:
f = open('file.txt', 'r')
newfile = []
lines = f.readlines()
number = lines[0][-3:-1]
for i in range(int(number)):
string = '0' + str(i+1) + ' ' + number
if i + 1 != int(number):
string += '\n'
if string not in lines:
newfile.append('missing\n')
else:
newfile.append(string)
f.close()
f = open('file.txt', 'w')
f.writelines(newfile)
f.close()
当我尝试你的例子时它起作用了。它检查文件中是否有字符串,如果没有则写入'missing'
。
注意:不完全确定是否存在读写模式(带截断)