【发布时间】:2018-12-06 16:15:37
【问题描述】:
所以我要做的是生成一个数字值列表,例如从 1 到 100000。
我创建了一个执行此操作的脚本,但它只将输出打印到屏幕上:
1
2
n
100000
我需要的是完全相同的东西,但附加到一个文件中,每个值后面都有一个换行符:
1
2
n
100000
这是生成数字的脚本:
def num_gen(min, max):
for i in range(min, max):
print(i)
print('Enter minimum Appoge value. e.g. 1000')
min_value = int(input())
print("Enter maximum Appoge value. e.g. 3000000")
max_value = int(input())
num_gen(min_value, max_value)
这是我在尝试将输出附加到文件时编写的脚本:
def num_gen(min, max):
appoge_list = file('appoge_wordlist.txt', 'w')
for i in range(min, max):
appoge_list.write(str(i))
appoge_list('\n')
appoge_list.close()
print('The appoge_list, appoge_wordlist.txt, has been generated. :)')
print('Enter minimum Appoge value. e.g. 1000')
min_value = int(input())
print("Enter maximum Appoge value. e.g. 3000000")
max_value = int(input())
num_gen(min_value, max_value)
解决方案:好的,我一直在努力实现上述目标,然后试图过度简化一切,我让代码解释了一切: 这是新脚本,不接受任何参数:
def num_gen():
for i in range(10000, 2000001):
print(i)
num_gen()
然后运行命令:python appoge_generator.py > appoge_wordlist.txt
要从命令行运行脚本,您需要python appoge_generator.py 我刚刚添加了>,这意味着将过程的输出附加到文件appoge_wordlist.txt 而不是屏幕上。
现在我有一个 1990001 行,在 0.9 秒内生成 14,2 MB 的词表。我希望有人觉得这很有用。
【问题讨论】:
-
好的!我只是想出了如何用更少的代码、时间和复杂性来做到这一点。
标签: python file command-line numbers append