我可以在另一个python文件中运行python文件吗?

时间:2013-01-14 03:51:52

标签: python

  

可能重复:
  Run a python script from another python script, passing in args

假设我有一个返回int值的script2.py。

是否可以在我的shell上运行script.py并在script.py中以某种方式获取script2.py根据传递给script.py的参数返回的int值?

3 个答案:

答案 0 :(得分:3)

是的,这是可能的。这就是模块用于:)。

首先,您必须将您在script2.py中使用的方法放入函数中。我将使用与我上面的人使用相同的例子(因为这是一个很好的例子:p)。

def myFunction(a, b):
    return a + b

现在在你的script.py上,你要放:

import script2

在顶部。这仅在两个文件位于同一目录中时才有效。

要使用此功能,请输入:

# Adding up two numbers
script2.myFunction(1, 2)

那应该返回3.

答案 1 :(得分:0)

execfile能成为你追求的目标吗? 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)

如果您想使用script2.py传入的参数执行script.py,那么我建议将script2.py的内容包含在函数中。也就是说,如果您的script2.py是:

a = 1
b = 2
result = a + b

我建议你把它转换成:

 def myFunction(a, b):
     return a + b

这样您就可以从a指定bscript.py

答案 2 :(得分:0)

试试这个:

import subprocess

x = 55

print "running bar.py..."
subprocess.call("python bar.py " + x)