我有一个14行的文本文件,我想从列表中添加列表项到每行的末尾,从第5行开始。请有人帮帮我。
例如
我有一个名为test.txt
的文本文件:
a b
12
1
four
/users/path/apple
/users/path/banana
..
..
我有以下列表
周期= [21,22,23,...]
我的问题是如何将这些列表项添加到行的末尾,以便我得到:
a b
12
1
four
/users/path/apple 21
/users/path/banana 22
..
..
我不擅长python,这似乎是一个简单的问题。任何帮助将不胜感激。
答案 0 :(得分:0)
这样的事情:
for line in file.readlines():
print line.rstrip(), cycle.pop(0)
答案 1 :(得分:0)
cycle = [21, 22, 23]
i = 0
with open('myfile.txt', 'r') as fh:
with open('new_myfile.txt', 'w' as fh_new:
for line in fh:
addon = ''
if i < len(cycle):
addon = cycle[i]
fh_new.write(line.strip() + addon + '\n')
i += 1
答案 2 :(得分:0)
通常,除了在文件末尾附加内容(在最后一行之后)之外,您无法修改文件。
在您的情况下,您想要:
您可以通过多种方式完成此操作。加载 - &gt;写回修改的字符串将是最简单的:
with open("path/to/my/file/test.txt", 'rb') as f:
# Strip will remove the newlines, spaces, etc...
lines = [line.strip() for line in f.readlines()]
numbers = [21, 22, 23]
itr = iter(numbers)
with open("path/to/my/file/test.txt", 'wb') as f:
for line in lines:
if '/' in line:
f.write('%s %s\n' % (line, itr.next()))
else:
f.write('%s\n' % line)
此方法的问题在于,如果您在处理时出错,则会破坏原始文件。其他方法是:
与往常一样,Python doc对于发现新功能和模式绝对是一个很好的阅读。