簡體   English   中英

如何將 argparse 值存儲在變量中?

[英]How to store argparse values in variables?

我正在嘗試使用以下代碼將命令行選項添加到我的腳本中:

import argparse

parser = argparse.ArgumentParser('My program')
parser.add_argument('-x', '--one')
parser.add_argument('-y', '--two')
parser.add_argument('-z', '--three')

args = vars(parser.parse_args())

foo = args['one']
bar = args['two']
cheese = args['three']

這是正確的方法嗎?

另外,如何從 IDLE shell 運行它? 我使用命令“python myprogram.py -x foo -y bar -z cheese”,它給了我一個語法錯誤

這會起作用,但您可以像這樣簡化它:

args = parser.parse_args()

foo = args.one
bar = args.two
cheese = args.three

使用args.__dict__

args.__dict__["one"]
args.__dict__["two"]
args.__dict__["three"]

我目前正在使用

import argparse
import sys

parser = argparse.ArgumentParser('My program')
parser.add_argument('--one')
parser.add_argument('--two')
parser.add_argument('--three')

parser.parse_args(namespace=sys.modules[__name__])

print(f"{one}, {two}, {three}")

有理由不這樣做嗎?

獲取文檔中建議的參數值的規范方法是像您一樣使用vars並按名稱訪問參數值:

argv = vars(args)

one = argv['one']
two = args['two']
three = argv['three']

暫無
暫無

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

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