如何在Windows中的python中将输出定向到txt文件

时间:2011-01-28 13:46:28

标签: python

import itertools  

variations = itertools.product('abc', repeat=3)  
for variations in variations:  
    variation_string = ""  
    for letter in variations:  
        variation_string += letter  
    print (variation_string)  

如何将输出重定向到txt文件(在Windows平台上)?

6 个答案:

答案 0 :(得分:16)

从控制台你会写:

python script.py > out.txt

如果你想用Python做,那么你会写:

with open('out.txt', 'w') as f:
    f.write(something)

显然,这只是一个微不足道的例子。你明显在with block中做了更多。

答案 1 :(得分:6)

您也可以直接在脚本中将stdout重定向到您的文件,因为print默认写入sys.stdout文件处理程序。 Python提供了一种简单的方法:

import sys  # Need to have acces to sys.stdout
fd = open('foo.txt','w') # open the result file in write mode
old_stdout = sys.stdout   # store the default system handler to be able to restore it
sys.stdout = fd # Now your file is used by print as destination 
print 'bar' # 'bar' is added to your file
sys.stdout=old_stdout # here we restore the default behavior
print 'foorbar' # this is printed on the console
fd.close() # to not forget to close your file

答案 2 :(得分:2)

在窗口命令提示符下,此命令将把program.py的输出存储到文件output.txt

python program.py > output.txt

答案 3 :(得分:1)

如果是我,我会使用David Heffernan的方法将您的变量写入文本文件(因为其他方法要求用户使用命令提示符)。

import itertools  

file = open('out.txt', 'w')
variations = itertools.product('abc', repeat=3)  
for variations in variations:  
    variation_string = ""  
    for letter in variations:  
        variation_string += letter  
    file.write(variation_string)
file.close()

答案 4 :(得分:1)

您可以使用>>

log = open("test.log","w")

print >> log, variation_string

log.close()

答案 5 :(得分:0)

扩展为David's answer

如果您使用 PyCharm

  

转到Run - >编辑配置 - >日志 - >选中标记保存控制台   输出到文件 - >输入完整路径 - >应用

Screenshot