我的问题很简单。
我的任务是阅读一个名为cities.txt的文本文件,其中包含国家/地区和大写字母 (例如前三行是:
苏格兰阿伯丁
澳大利亚阿德莱德
阿尔及利亚阿尔及尔
)
并写入另一个名为out.txt的文本文件,这些内容编号为 (例如
1:苏格兰阿伯丁
2:澳大利亚阿德莱德
3:阿尔及利亚阿尔及尔
)
到目前为止我的代码是:
try:
with open('cities.txt', 'r') as f:
with open('out.txt', 'w') as m:
lines = f.read()
#missing code
except:
print('Error')
else:
with open('out.txt', 'r') as m:
content = m.read()
print(content)
有什么想法吗?
答案 0 :(得分:3)
你可以这样做:
with open('cities.txt') as infile, open('out.txt', 'w') as outfile:
in_lines = infile.readlines()
for i, line in enumerate(in_lines, start=1):
outfile.write('{}: {}'.format(i, line))
写入out.txt
的文字:
1: Aberdeen, Scotland
2: Adelaide, Australia
3: Algiers, Algeria
答案 1 :(得分:1)
您只需循环输入文件中的每一行并写入输出 - 并使用计数器来跟踪行号:
with open('cities.txt', 'r') as f:
with open('out.txt', 'w') as m:
l = 1
for line in f:
m.write("{}: {}".format(l, line))
l += 1
答案 2 :(得分:1)
您可以通过在一行打开文件来保持简短
with open(r'bla.txt', 'r') as fd, open(r'bla2.txt', 'w') as fd2:
count = 1
for line in fd.readlines():
fd2.write(str(count) + ': ' + line)
count += 1