假设我有返回 int 值的 script2.py。
是否可以仅在我的 shell 上运行 script.py 并在 script.py 中根据我传递给 script.py 的参数以某种方式获取 script2.py 返回的 int 值?
假设我有返回 int 值的 script2.py。
是否可以仅在我的 shell 上运行 script.py 并在 script.py 中根据我传递给 script.py 的参数以某种方式获取 script2.py 返回的 int 值?
是的,这是可能的。这就是模块的用途:)。
首先,您必须将您在 script2.py 中使用的方法放入一个函数中。我将使用与我上面的人使用的相同示例(因为这是一个很好的示例:p)。
def myFunction(a, b):
return a + b
现在在您的 script.py 上,您需要输入:
import script2
在顶部。这仅在两个文件位于同一目录中时才有效。
要使用该功能,您可以键入:
# Adding up two numbers
script2.myFunction(1, 2)
那应该返回3。
尝试这个:
import subprocess
x = 55
print "running bar.py..."
subprocess.call("python bar.py " + x)
可能execfile
是你所追求的吗?execfile('script2.py')
就像您将 的全部内容复制并粘贴script2.py
到控制台一样。
例如假设script2.py
有:
def myFunction(a, b):
return a + b
然后script.py
我可以这样做:
# reads in the function myFunction from script2.py
execfile('script2.py')
myFunction(1, 2)
如果您想script2.py
使用传入的参数执行,script.py
那么我建议将 的内容script2.py
封装在一个函数中。也就是说,如果你script2.py
是:
a = 1
b = 2
result = a + b
我建议您将其转换为:
def myFunction(a, b):
return a + b
以便您可以指定a
和b
从script.py
.