从另一个python脚本读取python输出

从另一个python脚本读取python输出,python,Python,我有两个python文件,一个包含生成输出的代码,另一个需要读取。生成代码为: b=5 return b 阅读代码为: import os c= os.system("test.py") print (c) 当我运行这个时,输出是1。我不明白为什么这不是5,有没有关于如何解决这个问题的建议?将第一个文件中的所有代码放入函数中 #Fred.py def frob(): b=5 return b 然后,您可以从任何其他Python文件导入该函数并查看其返回值 #Barney.p

我有两个python文件,一个包含生成输出的代码,另一个需要读取。生成代码为:

b=5
return b
阅读代码为:

import os
c= os.system("test.py")
print (c)

当我运行这个时,输出是1。我不明白为什么这不是5,有没有关于如何解决这个问题的建议?

将第一个文件中的所有代码放入函数中

#Fred.py
def frob():
    b=5
    return b
然后,您可以从任何其他Python文件导入该函数并查看其返回值

#Barney.py
from Fred import frob
print frob()
#result: 5

当某个东西运行时,它返回执行是成功还是失败。测试一下。在test.py中引发一些异常,c将等于0.1是终止状态
b=5;return b
不是一个合法的Python程序,因为您不能在函数之外使用
return
。是否需要使用文件?如果不是,也许一个生成器函数会更好地满足您的需求。您可以通过搜索pythonyield语句来找到这种技术。使用
子流程
模块运行程序并读取其输出。请注意,您读取的输出是字节,您可以将其解码为文本,然后需要将其解析为数字!如果不需要运行单独的程序,只需遵循导入模块的其他建议即可。