我在一個Windows環境(我的筆記本電腦!)工作,我需要幾個腳本運行其他程序,幾乎像一個Windows批處理文件。python作爲「批處理」腳本(即從python運行命令)
我該如何從python運行一個命令,讓程序運行時會替換腳本?該程序是交互式的(例如,一致),並且始終保持打印線路並詢問用戶輸入。
所以,只運行程序並打印輸出是不夠的。程序必須接管腳本的輸入/輸出,相當於從.bat文件運行命令。
我試過os.execl,但它一直告訴我「無效參數」,並且它沒有找到程序名(不搜索PATH變量);我必須給它完整的路徑..?!
基本上,在一個批處理腳本,我可以寫: 齊聲輪廓
我怎麼能實現在Python同樣的效果?
編輯:
我發現它可以與os.system(...)
做,因爲我不能接受我自己的答案,我關閉的問題。
編輯:這應該是一個評論,但是當我發佈它時,我沒有太多的觀點。
感謝Claudiu,這幾乎是我想要的,除了一件小事:我希望函數在程序退出時結束,但是當我一致嘗試它時,它不會將控制權返回給python腳本,但到windows命令行環境下
>>> os.execlp("unison")
C:\>Usage: unison [options]
or unison root1 root2 [options]
or unison profilename [options]
For a list of options, type "unison -help".
For a tutorial on basic usage, type "unison -doc tutorial".
For other documentation, type "unison -doc topics".
C:\>
C:\>
C:\>
如何解決這個問題?
它有助於提供不工作的腳本運行。 – 2008-11-22 23:53:36
有沒有必要關閉這個問題,因爲你不能接受你的答案。如果這是最多的投票,它基本上與接受的一樣..有點令人討厭,誠然,但關閉不是正確的方式,我會說.. – dbr 2008-12-27 03:11:37