![](/img/trans.png)
[英]command line args in subprocess.call while executing a python script
[英]How to call a python script with command line args?
我有一個腳本client.py,它直接以腳本形式讀取命令行args(未包裝在main()之類的函數中),如下所示:
opts, args = getopt.getopt(sys.argv[1:], "l:r:a:j:b:f:n:u:")
並打印一堆東西。
我需要從我的代碼中調用此腳本(如果需要的話,請在Google App Engine上)。 似乎在打電話
import client
將client.py作為腳本運行,但是如何指定參數?
除非必須這樣做,否則不應該這樣做:如果您有兩個Python腳本,它們可以在Python中通信,而不是通過命令行解析器進行通信。 用if __name__ == "__main__"
檢查重寫client.py
,然后直接從腳本中調用其main函數。
如果您沒有這樣做的選擇(並且盡可能避免這種情況),則可以設置sys.argv
; 我不確定GAE是否允許您這樣做。 您可能還可以使用subprocess.Popen
。
你不能 使用subprocess
或os.exec*()
或者修改其他腳本,以使用解析這些參數,然后將其傳遞到主哨main()
函數,然后調用main()
自己使用適當的參數。
另外, import client
。
Google AppEngine使用經過重大修改的Python版本,並禁用了許多系統和子進程庫以及大多數C python模塊。 要調用該腳本,您需要導入一個入口點並進行調用。 我相信約定是調用您的入口點main並調用它,並傳遞可能需要的所有args。 通常,這是一個好習慣。 例如在調用應用程序中:
from client import main
main()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.