2015-05-31 124 views
-1

我学习argparse模块,和我写的代码如下:蟒蛇argparse模块AttributeError的

import argparse 

parser = argparse.ArgumentParser(description='Process some integers.') 
parser.add_argument('integers', metavar='N', type=int, nargs='+', 
       help='an integer for the accumulator') 
parser.add_argument('--sum', dest='accumulate', action='store_const', 
       const=sum, default=max, 
       help='sum the integers (default: find the max)') 

args = parser.parse_args() 
print args.accumulate(args.integers) 

我救它作为argparse.py,但是当我在cmd中运行它,它表明:

AttributeError的: '模块' 对象有没有属性 'ArgumentParser'

什么问题谢谢你的帮助

+0

重命名您的argparse.py文件,因为您正在从中导入,您还需要删除任何agparse.pyc文件 –

+0

当您导入时,您正在加载自己,而不是标准库模块。 – cdarke

+0

@PadraicCunningham得到它,非常感谢你 – evbo

回答

1

什么时候?您在Python中说import,解释器运行搜索以查找具有该名称的文件。它首先在当前文件夹中查找文件,然后在其他路径中查找,例如/ usr/lib/python。

因此,当您在说import argparse并命名您的脚本argparse.py时,Python将获取您的文件并按原样导入它。

为了避免出现这种情况,请将文件的名称更改为argparse.py以外的名称。

+0

我会记住这个错误,非常感谢你! – evbo