2013-04-15 40 views
0

想我需要內y.py運行Python文件,x.py,從,從y.py傳遞變量zx.py調用Python文件帶參數另一個Python文件內形成

我該如何做到這一點?會有這樣的工作嗎?

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

http://docs.python.org/3/library/subprocess.html#subprocess.call –

+1

是否' x.py'接受命令行參數? – RedBaron

+1

你應該在函數中封裝'y'的功能,然後''導入'函數到'x'並適當地調用它。 –

回答

0

試試這個

# y.py 
import os 
z='argument' 
os.system('Python x.py '+z) 
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" 
>>> 
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) 
相關問題