在另一个Python文件中调用带有参数的Python文件

时间:2013-04-15 17:38:43

标签: python

假设我需要在x.py内运行python文件y.py,将变量zy.py传递到x.py

我将如何做到这一点?这样的事情会起作用吗?

call(["python","x.py",z])

3 个答案:

答案 0 :(得分:1)

您需要正确封装代码。你应该有这样的东西:

y.py

def y_func(*args):
    # everything y does
if __name__ == "__main__":
    import sys
    y_func(*sys.argv)

x.py

from y import y_func
def x_func(*args):
    #do stuff
    y_result = y_func(*yargs)
    #finish x stuff
if __name__ == "__main__":
    import sys
    x_func(*sys.argv)

答案 1 :(得分:0)

试试这个

# y.py
import os
z='argument'
os.system('Python x.py '+z)

答案 2 :(得分:0)

使用subprocess优于os.system

import subprocess
subprocess.check_output(["ls", "-ltr"])

在您的情况下,我们假设您有a.py

import sys
print sys.argv[1:]

并在提示中:

>>> import subprocess
>>> subprocess.check_output(["python", 'a.py', 'aaa bbb ccc'])
"['aaa bbb ccc']\n"
>>>