如何将输出打印到txt文件:Mac

时间:2014-01-24 01:10:34

标签: python macos python-2.7 output

这是我第一次提问。我刚刚开始编程,所以我开始使用Python。所以我基本上在while循环中有一个随机数生成器,就在我的“r()”函数里面。我想要做的就是取所有数字(基本上就像无限量直到我关闭空闲)现在我已经在万维网上找到了解决方案,并且在Windows计算机上找到了解决方案。我有一台带有python 2.7的mac。任何帮助都非常受欢迎!我目前的代码在下面

from random import randrange
def r():
    while True:
        print randrange(1,10)

2 个答案:

答案 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语句将适当地关闭文件实例。