我正在使用一个使用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')
任何线索?
答案 0 :(得分:7)
问题是您在pdb
中运行这些命令。
事实证明,args
是a 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')