簡體   English   中英

如何使用命令行參數調用python腳本?

[英]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

你不能 使用subprocessos.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM