我寫了一個Python腳本,我現在正試圖通過命令行運行。它由一個函數組成,它帶有一個強制性的和一些可選的參數。使用sys.argv通過終端輸入
def main(input_folder, iterations = 1000, probability_cutoff = - 40 , threshold = 10): ...
現在我想通過像這樣的命令行,使其可執行:
if __name__ == "__main__": main(sys.argv[1])
因爲我把只有一個參數,這種只要作品好;但我不知道如何接受sys.argv
作爲列表提供的附加的可選輸入。
- 有沒有一種簡單的方法來做到這一點?
- 還是有必要使用額外的模塊,如 argparse?
- 我嘗試將關鍵字參數提供給函數,但 也無法使其工作 - 這是一種可行的方法嗎?
我在Mac上使用Python 2.7。任何幫助深表感謝!
我會說這是一個重複【如何提取一個列表參數,並將其傳遞給一個函數調用(http://stackoverflow.com/questions/7527849/how-to-extract-parameters-from-a-list-and-pass-them-to-a-function-call),因爲這是你所要求的機制(以及[1: ]'跳過第一項argv) –
這可能是真的,但我沒有找到一個,因爲我沒有使用正確的搜索條件。我應該刪除這個嗎? – patrick
根本沒有,其他人試圖解開'sys.argv'(像你),但沒有使用正確的搜索條件來找到相關的問題(像你)會發現這個問題,它會幫助他們。 –