我的问题是关于我在python中编写的一个简单程序。我喜欢创建一个'注释'文件包括以下列表:"点100,000"至"指向999999"分别放在每一行:
指向100,000
指向100,001
...
点999,999
我写了这段代码:
new = ''
for m in range(100000,999999):
new = new + 'point ' + str(m) + '\n'
fw = open('list.txt', 'w')
fw.write(new)
它有效,但不幸的是,它需要大约45分钟才能运行。请帮我纠正这段代码。
答案 0 :(得分:1)
避免不必要的字符串连接,直接写入文件:
with open('list.txt', 'w') as fw:
for m in range(100000,999999):
fw.write('point ' + str(m) + '\n')
答案 1 :(得分:1)
使用xrange获得更好的性能。
with open('list.txt', 'w') as fw:
for m in xrange(100000,999999):
fw.write('point {}\n'.format(str(m))
答案 2 :(得分:-1)
尝试以下方法:
with open('lists.txt', 'w') as fw:
for m in range(100000,999999):
fw.write('point ' + str(m) + '\n')
然后,在将其写入文件之前,不需要将所有内容存储在字符串中。