[英]How do I run a bash script inside Python, but act as if it's running from another directory?
subprocess.call(["/home/blah/trunk/blah/run.sh", "/tmp/ad_xml", "/tmp/video_xml"])
我這樣做 但是,在我的run.sh中,我有“相對”路徑。 所以,我必須“cd”到該目錄,然后運行shell腳本。 我怎么做?
使用cwd
參數subprocess.call()
來自這里的文檔: http : //docs.python.org/library/subprocess.html
如果
cwd
不是None,則子cwd
的當前目錄在執行之前將更改為cwd
。 請注意,在搜索可執行文件時不考慮此目錄,因此您無法指定程序相對於cwd
的路徑。
例:
subprocess.call(["/home/blah/trunk/blah/run.sh", "/tmp/ad_xml", "/tmp/video_xml"], cwd='/tmp')
嗯,你可以使用subprocess.Popen與殼牌= True和CWD =“你想要的工作目錄”
編輯:似乎調用具有相同的參數,所以只設置一個cwd參數將起作用:
subprocess.call(["/home/blah/trunk/blah/run.sh", "/tmp/ad_xml", "/tmp/video_xml"], cwd="PATH")
你可以像這樣提供你的工作目錄:
subprocess.call([“/ home / blah / trunk / blah / run.sh”,“/ tmp / ad_xml”,“/ tmp / video_xml”],cwd =“/ home / blah / trunk / blah”)
os.chdir(path)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.