簡體   English   中英

來自文件和字符串 CLI 參數的 Argparse 參數

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

那么您的參數ad將分別設置為 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.

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