python args 变量不适用于 parser.parse_args

python args variable not working with parser.parse_args

我正在编写一个使用 parse_args 的简单脚本,但如果变量名称为 args,则赋值不起作用,如文档和多个示例所示。

(Pdb) parser.parse_args()
Namespace(partition_frequency='daily', start_date='2016-02-03', table_name='test_table')

(Pdb) x=parser.parse_args()
(Pdb) x
Namespace(partition_frequency='daily', start_date='2016-02-03', table_name='test_table')

(Pdb) args=parser.parse_args()
(Pdb) args
      **>> No output**
(Pdb) arg=parser.parse_args()
(Pdb) arg
Namespace(partition_frequency='daily', start_date='2016-02-03', table_name='test_table')

有什么线索吗?

您使用什么 Python 版本? 我刚刚用 Python 2.7 检查了这个简单的例子并且它有效 出色地。

test.py:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--foo', help='foo of the %(prog)s program')
args = parser.parse_args()

print args

它给了我以下输出:

>test.py --foo qqq
Namespace(foo='qq')

问题是你在 pdb 中 运行 这些命令。

原来argsa pdb command!所以它没有被解释为变量,而是作为 pdb 的命令。