我可以在另一个python文件中运行python文件吗?
可能重复:我可以在另一个python文件中运行python文件吗?,python,Python,可能重复: 假设我有一个返回int值的script2.py 是否可以在我的shell上只运行script.py,并且在script.py中以某种方式获取script2.py根据我传递给script.py的参数返回的int值?可能就是您想要的execfile('script2.py')的工作方式与将script2.py的全部内容复制并粘贴到控制台的方式相同 e、 g.假设script2.py具有: def myFunction(a, b): return a + b 然后在scri
假设我有一个返回int值的script2.py 是否可以在我的shell上只运行script.py,并且在script.py中以某种方式获取script2.py根据我传递给script.py的参数返回的int值?可能就是您想要的
execfile('script2.py')
的工作方式与将script2.py
的全部内容复制并粘贴到控制台的方式相同
e、 g.假设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)
如果要使用从script.py
传入的参数执行script2.py
,我建议将script2.py
的内容封装在函数中。也就是说,如果您的script2.py
是:
a = 1
b = 2
result = a + b
我建议您将其转换为:
def myFunction(a, b):
return a + b
因此,您可以从
script.py
指定a
和b
,这是可能的。这就是模块的用途:)
首先,必须将script2.py中使用的方法放入函数中。我将使用与我上面的人使用的相同的示例(因为这是一个很好的示例:p)
现在,在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
导入函数而不是import
?
import subprocess
x = 55
print "running bar.py..."
subprocess.call("python bar.py " + x)