我有两个python模块:buildContent.py
,其中包含导致我想要的输出的代码。我为了将输出重定向到文件而运行的buildRun.py
。
我正在尝试将buildContent.py
的输出保存到文件中,我在buildRun.py
中执行了类似的操作:
import buildContent
import sys
with open('out.xhtml', 'w') as f:
sys.stdout = f
print buildContent
我可以在控制台中看到我的输出,但文件结果是:
<module 'buildContent' from 'here's my path to the file'>
该怎么办?
答案 0 :(得分:1)
重定向工作正常。 如果用字符串替换print语句,你会看到它有 工作
输出的原因是你没有在buildcontent中调用任何函数,只是导入它。
解决方案是从上面的print语句中运行buildContent文件。
请参阅this question以获取示例
答案 1 :(得分:0)
只需使用所需参数执行该模块,而不是打印buildContent
。不确定buildContent
的内容,但这样的内容应该有效:
buildContent(data)
这样buildContent
内的代码将在"data"
上运行并打印结果(如果在模块中给出了print语句)。如果未在buildContent
中包含打印语句,请将输出收集到变量中并打印该变量。像这样:
var = buildContent(data)
print var
如果您不需要任何数据来运行buildContent
,只需运行:
buildContent()