我可以在另一个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)