簡體   English   中英

了解python的argparse模塊

[英]Understanding python's argparse module

我想可以用Python argparse工作,我不知道如何調用該程序的命令行,看看它是否工作。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("DocID", type= int, help= "Insert DocID Here")
parser.add_argument("echo", help = "Enter in the FileName to be read")
args = parser.parse_args()
print args

這是我難以置信的基本程序,我試圖使用它只是為了了解有關argparse如何工作的更多信息。 我只需要學習如何以及在何處調用該程序,即可使用我提供的參數。

編輯:為了使我的問題更加清楚對不起。 我有這段代碼,但是我不知道如何整體調用該程序,這樣我才能運行它。 怎么樣我會在命令行中運行這個? 因為當運行剛剛在空閑時,其由於缺乏命令的產生和錯誤

ArgumentParser的parse_args方法可以將列表作為輸入。 該列表用於解析命令行參數。 因此,一個常見的成語是:

args = parser.parse_args('-a -b -c --value=True'.split())

因為str.split返回一個列表。 'ab c'.split() == ['a', 'b', 'c']


通常,當您添加參數時,您將像這樣進行操作:

parser.add_argument('-a', '--a-long-name', type=int, ...)

前面沒有---參數是位置參數,因此您的兩個參數都是位置參數。 如果您這樣做,可以看到一些正在發生的事情:

args = parser.parse_args(['1','foo'])
print args.DocID # 1
print args.echo  # foo

這與將您的腳本稱為python youscript.py 1 foo (在parse_args內沒有列表)相同。

如果您想知道腳本的命令行語法...只需使用--help調用它,argparse就會自動為您提供它。

⚫  gbin@sal tmp % python test.py --help
usage: test.py [-h] DocID echo

positional arguments:
  DocID       Insert DocID Here
  echo        Enter in the FileName to be read

optional arguments:
  -h, --help  show this help message and exit

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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