Python args 变量不适用于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')

有什么线索吗?

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

事实证明,args是一个 pdb 命令!因此,它没有被解释为变量,而是被解释为 pdb 的命令。

你使用什么 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')

最新更新