这是我第一次提问。我刚刚开始编程,所以我开始使用Python。所以我基本上在while循环中有一个随机数生成器,就在我的“r()”函数里面。我想要做的就是取所有数字(基本上就像无限量直到我关闭空闲)现在我已经在万维网上找到了解决方案,并且在Windows计算机上找到了解决方案。我有一台带有python 2.7的mac。任何帮助都非常受欢迎!我目前的代码在下面
from random import randrange
def r():
while True:
print randrange(1,10)
答案 0 :(得分:1)
一般的想法是open
文件,write
到它(根据需要多次)和close
它。这在Reading and Writing Files下的教程中进行了解释。
with
语句(在该部分的末尾描述)是确保文件始终获得close
d的好方法。 (否则,当您使用^ C停止脚本时,文件最终可能会丢失最后几百个字节,并且您必须使用try
/ finally
来正确处理。)
文件上的write
方法不像print
语句那样“友好” - 它不会自动将内容转换为字符串,最后添加换行符,接受多个逗号 - 通常,你会想要string formatting为你做这些事情。
例如:
def r():
with open('textfile.txt', 'w') as f:
while True:
f.write('{}\n'.format(randrange(1, 10)))
答案 1 :(得分:1)
您需要调用该函数,然后将输出重定向到文件或使用python API写入文件。您的整个脚本可能是:
from random import randrange
def r():
while True:
print randrange(1,10)
r()
然后您可以运行python script_name.py > output.txt
如果您想使用python API写入文件,则应将脚本修改为以下内容:
from random import randrange
def r():
with open('somefile.txt', 'w') as f:
while True:
f.write('{}\n'.format(randrange(1,10)))
r()
with语句将适当地关闭文件实例。