[英]Calling python script on MAC/Linux from Command line - passing arguments
考慮以下設置和文件夾結構:
c:\foo
\bin\foo.bat
\lib\foo.py
我將foo.bat路徑添加到我的環境PATH中,因此我可以從任何傳入一些參數的地方調用它:
c:/>foo.bat -v
foo.bat包含以下代碼:
@ECHO OFF
"c:\foo\lib\foo.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
在Windows中可以正常工作。
現在,我希望能夠在Mac或Linux中執行相同的操作。
如何創建這個可執行文件,它將調用腳本lib \\ foo.py並傳入一些參數?
謝謝
[解]
謝謝大家,您的回答使我最終獲得了符合預期目的的腳本:
在\\ foo \\ bin \\ foo 文件中
#!/usr/bin/env bash
python /usr/local/foo/lib/foo.py $*
您可以直接在mac / linux上調用python腳本,只需確保將python解釋器放在示例文件foo的第一行即可:
#!/usr/bin/python
if __name__ == "__main__":
print 'bar'
運行文件,使用./foo
將其直接從當前目錄中./foo
例如,如果要從任何地方訪問它,都可以將其放在/usr/local/bin
,只需確保該文件是可執行文件( chmod +x foo
)。
您沒有明確說出選擇的外殼是什么,而是假設它是GNU bash:
#!/usr/bin/env bash /path/to/lib/foo.py $*
請注意,您的Shell腳本和foo.py都需要將執行位設置為以這種方式運行(這只是一個
chmod +x /path/to/your/script /path/to/lib/foo.py遠)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.