使用另一个Python模块

时间:2016-10-11 16:06:52

标签: python

我有两个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'>

该怎么办?

2 个答案:

答案 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()