将python脚本的输出重定向到文本文件中

Redirect the output of python script into a text file

本问题已经有最佳答案,请猛点这里访问。

如何将此脚本的输出移动到文本文件中?

1
2
3
4
5
6
7
8
9
10
11
 k = raw_input("Enter the keyword:")
 if __name__ =="__main__":
     sys.path.append("./BeautifulSoup")
     from bs4 import BeautifulSoup

     opener = urllib2.build_opener()
     opener.addheaders = [('User-agent', 'Mozilla/5.0')]

     for start in range(0,2):
         url ="http://www.google.com.au/search?q="+ k +"&start=" + str(start*10)
         print url


如果不想使用命令行或write():

1
2
3
import sys
sys.stdout = open('output_file', 'w')
print 'test'

这样你仍然可以使用print()


从终端调用python脚本,如下所示:

1
python yourfile.py > yourtextfile_with_output.txt

对于不使用命令行的输出,请使用:

1
2
3
text_file = open("Output.txt","w")
text_file.write("your output here")
text_file.close()


只需使用标准shell重定向:

1
python your_script.py > output_file.ext

如果要直接从脚本写入文件而不重定向:

1
2
with open("output.ext","w") as stream:
    print >>stream,"text"