python args变量不能与parser.parse_args一起使用

时间:2016-02-03 06:27:03

标签: python argparse

我正在使用一个使用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')

任何线索?

2 个答案:

答案 0 :(得分:7)

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

事实证明,argsa pdb command!所以它不是被解释为变量,而是被解释为pdb的命令。

答案 1 :(得分:1)

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