我有两个文件: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()函数。
运行带有参数的命令,并以字节字符串形式返回其输出。
样品溶液:
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])
问题内容: 我有一个长期运行的python脚本,希望能够从另一个python脚本结束。理想情况下,我正在寻找一种将进程ID设置为第一个脚本并能够从第二个脚本通过该ID查看其是否正在运行的方法。此外,我希望能够终止该长时间运行的过程。 有没有很酷的捷径可以实现这一目标? 另外,我在Windows环境中工作。 我最近在这里找到了另一种答案:检查python脚本是否正在运行 问题答案: 您可以通过以下方
问题内容: 我正在学习Zed Shaw的“学习Python的艰难方法”,并且正在第26课中。在这一课中,我们必须修复一些代码,然后代码从另一个脚本调用函数。他说我们不必导入它们即可通过测试,但是我很好奇我们将如何进行。 链接到的教训| 链接到代码以更正 以下是调用先前脚本的特定代码行: 纠正代码: 这是课程中的代码,正在被引用 不要编辑问题以更正代码 def break_words(stuff):
我有两个脚本和。脚本调用时返回一个随机数。我想从并打印所有这些返回值。换句话说,脚本如下所示: 现在我有以下代码在 但是,我收到的错误是,。我将如何着手完成这项任务?
问题内容: 我想从另一个Python脚本运行一个Python脚本。我想像使用命令行一样传递变量。 例如,我会跑我的,将通过值(0,1,2,3)的列表迭代第一个脚本,并通过那些到第二脚本,然后,等 我发现了Stack Overflow问题1186789,这是一个类似的问题,但是ars的答案调用了一个函数,在这里我想运行整个脚本,而不仅仅是函数,而balpha的答案则调用了脚本,但没有参数。我将其更改
所以我有主python脚本,我想从我的主文件中调用另一个python脚本,但是,每当我这样做的时候,我调用的脚本就会超过原来的脚本控制台中的主脚本?
问题内容: 我有一个名为test1.py的脚本,该脚本不在模块中。它只包含应在脚本本身运行时执行的代码。没有函数,类,方法等。我有另一个作为服务运行的脚本。我想从作为服务运行的脚本中调用test1.py。 例如: 文件service.py 我知道一种方法是打开文件,读取内容并进行基本评估。我假设有一种更好的方法。或者至少我希望如此。 问题答案: 这样做的通常方法如下。 test1.py servi