想我需要內y.py
運行Python文件,x.py
,從,從y.py
傳遞變量z
到x.py
。調用Python文件帶參數另一個Python文件內形成
我該如何做到這一點?會有這樣的工作嗎?
call(["python","x.py",z])
想我需要內y.py
運行Python文件,x.py
,從,從y.py
傳遞變量z
到x.py
。調用Python文件帶參數另一個Python文件內形成
我該如何做到這一點?會有這樣的工作嗎?
call(["python","x.py",z])
試試這個
# y.py
import os
z='argument'
os.system('Python x.py '+z)
使用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"
>>>
您需要正確地封裝你的代碼。你應該有這樣的事情:
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)
http://docs.python.org/3/library/subprocess.html#subprocess.call –
是否' x.py'接受命令行參數? – RedBaron
你應該在函數中封裝'y'的功能,然後''導入'函數到'x'並適當地調用它。 –