我编写了一个程序,用于在ipython笔记本中抓取来自twitter的数据。该程序提供了大量的数据流作为输出,我想将此输出保存在.txt文件中。我该怎么做?当我打开终端时,我可以通过以下方式轻松完成: python myfile.py> file.txt 我如何在ipython笔记本中做同样的事情?
答案 0 :(得分:1)
我认为下面的代码片段会对你有帮助。 我只是将stdout更改为指向某个文件。无论之后的输出是什么,都会写入该文件。
后来我将stdout改回原来的形式。
import sys
# Holding the original output object. i.e. console out
orig_stdout = sys.stdout
# Opening the file to write file deletion logs.
f = open('file.txt', 'a+')
# Changing standard out to file out.
sys.stdout = f
# Any print call in this function will get written into the file.
myFunc(params)
# This will write to the file.
print("xyz")
# Closing the file.
f.close()
# replacing the original output format to stdout.
sys.stdout = orig_stdout
# This will print onto the console.
print("xyz")