2016-02-03 20 views
1

我正在使用一个使用parse_args的简单脚本,但如果变量名称为args(如文档和多个示例中所示),分配不起作用。python args变量不能与parser.parse_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') 

任何线索?

+0

检查分析前后的'args',但不分配给'args'。也许解析器使用它 – furas

+3

'args'是一个pdb命令。看到这个问题:http://stackoverflow.com/questions/29342420/two-different-values-for-same-variable-args – alexanderlukanin13

回答

5

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

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

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') 
相关问题