从一个python脚本返回值到另一个
作者:互联网
我有两个文件:script1.py和script2.py.我需要从script1.py调用script2.py并将script2.py中的值返回给script1.py.但问题是script1.py实际上是通过os运行script2.py.
script1.py:
import os
print(os.system("script2.py 34"))
script2.py
import sys
def main():
x="Hello World"+str(sys.argv[1])
return x
if __name__ == "__main__":
x= main()
如您所见,我能够将值输入script2,但不能返回script1.我怎样才能做到这一点?注意:要调用script2.py,就像它的命令行执行一样.这就是我使用操作系统的原因.
解决方法:
好的,如果我理解你,你想要:
>将参数传递给另一个脚本
>从另一个脚本检索输出到原始调用者
我建议使用子进程模块.最简单的方法是使用check_output()功能.
Run command with arguments and return its output as a byte string.
样品溶液:
script1.py
import sys
import subprocess
s2_out = subprocess.check_output([sys.executable, "script2.py", "34"])
print s2_out
script2.py:
import sys
def main(arg):
print("Hello World"+arg)
if __name__ == "__main__":
main(sys.argv[1])
标签:os-system,python,python-3-x 来源: https://codeday.me/bug/20190926/1818237.html