4

只是想知道最简单的方法是什么。我有一个包含以下内容的文件:

01 04 
02 04 
04 04

我计划编辑我的文件以将“缺失”附加到文件中,因为 04 表示有 4 个项目,但缺少数字 3:

01 04 
02 04
#missing 
04 04

最简单的方法是什么?我很确定这是一个简单的修复,只是我是 python 的新手,我一直在尝试非常冗长的方法来实现它。

希望能听到这里的消息,谢谢大家!

4

3 回答 3

4
with open('path') as f:
    for i, line in enumerate(f, start=1):
        if int(line.split()[0]) == i:
            pass
        else:
            #put missing

我没有尝试这段代码。这只是概念。

于 2012-12-27T10:10:22.880 回答
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 写入一个文件,然后用这个替换你的文件

于 2012-12-27T10:23:40.363 回答
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'如果没有则写入。

注意:不完全确定是否有读写模式(带截断)

于 2012-12-27T10:52:24.580 回答