【发布时间】:2017-01-05 19:33:56
【问题描述】:
我有一个打印结果的函数(在某些项目中)。当我从命令行或另一个 python 项目中调用它时,它会在终端上打印输出。但我想将所有打印结果存储在一个变量中,如下所示:
output = function_name(function_args)
我不想在终端上打印结果,而是将它们存储在output 变量中。
此外,主函数返回一些东西(只是一个数字作为状态)作为我不想要那个数字的结果。
【问题讨论】:
-
为什么不修复函数以返回结果而不是打印?
-
这可能是用户无法修改的库代码。给予怀疑的好处!
-
@wim 出于我自己的好奇心,这是什么时候出现的?只是公司不允许,还是 python 固有的某个地方存在实际限制?
-
有很多可能的情况——有时你只是有包装
.so文件(编译代码)的python接口。有时会有 .pyc-only 发行版作为(弱)尝试混淆源代码。有时代码应该打印到标准输出,而您需要在测试中捕获值,您无需修改被测代码。