[英]Argparse arguments from file and string CLI arguments both
我想像這樣啟動我的腳本:
python3 main.py @params.conf 1 2
其中params.conf
是一個文件, 1
, 2
是字符串參數。
我知道如何單獨解析文件:
argparser = ArgumentParser()
argparser.add_argument('arg1', help='heeelp')
...
args = argparser.parse_args()
但是如何解析以下參數?
以@
為前綴的參數被視為其內容直接在命令行中,每行一個參數。 所以如果params.conf
的內容是
2
3
你定義了一個解析器
import argparse
p = argparse.ArgumentParser(fromfile_prefix_chars='@')
p.add_argument("a")
p.add_argument("b")
p.add_argument("c")
p.add_argument("d")
args = p.parse_args()
你把你的腳本稱為
script.py 1 @params.conf 4
那么您的參數a
到d
將分別設置為 1 到 4。
您只需添加更多argparser.add_argument
調用。
像這樣:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('arg1', type=str)
parser.add_argument('arg2', type=str)
parser.add_argument('arg3', type=str)
args = parser.parse_args()
print(args) # arguments are parsed
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.