Python argparse将参数保存到变量中
我正在尝试将argparse参数保存到变量中Python argparse将参数保存到变量中,python,Python,我正在尝试将argparse参数保存到变量中 import argparse parser = argparse.ArgumentParser() parser.add_argument('-n', dest='noww', action='store', help="shows noww") args = parser.parse_args() print(noww) 但它给出了这个错误 python c:/Users/rbhuv/Desktop/code
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-n', dest='noww', action='store', help="shows noww")
args = parser.parse_args()
print(noww)
但它给出了这个错误
python c:/Users/rbhuv/Desktop/code/testing.py -n sdad
Traceback (most recent call last):
File "c:/Users/rbhuv/Desktop/code/testing.py", line 8, in <module>
print(noww)
NameError: name 'noww' is not defined
它应该是args.noww而不是noww。您需要重新格式化您的参数 parser.add_-argument'-n','-now',action='store_-true',help=shows now args=parser.parse_args 打印参数 使用可选参数时,请使用-定义将在整个过程中使用的变量名,然后可以这样调用它。进行parse_args调用时,您将返回一个名称空间对象: 从这里,您可以作为属性访问该值:
>>> args.noww
'sdad'
使用vars将args转换为字典
你现在定义在哪里?它不在发布的代码中。你是说printargs吗?如果省略args=varsargs,那么只需使用args.noww访问-n标志值。没有必要将其转换为字典。@MichaelGeary甚至我也这么认为,并使用PrintArgs.noww运行脚本,但我得到了错误AttributeError:“dict”对象没有属性“noww”,但您是否删除了vars调用并使用了args.noww而不是args[noww]?听起来您仍在尝试将args作为字典访问。在这里如果单击Run按钮,您将看到第一个parse_args调用没有参数时打印None,第二个parse_args调用有参数时打印howdy。
>>> args.noww
'sdad'
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-n', dest='noww', action='store', help="shows noww")
args = parser.parse_args()
args = vars(args)
print(args["noww"])