【问题标题】:python argparse module AttributeErrorpython argparse 模块 AttributeError
【发布时间】:2015-08-13 23:34:57
【问题描述】:

我正在学习argparse模块,代码如下:

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: 'module' 对象没有属性 'ArgumentParser'

什么问题?谢谢你的帮助

【问题讨论】:

  • 在导入时重命名 argparse.py 文件,您还需要删除所有 agparse.pyc 文件
  • 当您import 时,您正在加载自己,而不是标准库模块。
  • @PadraicCunningham 明白了,非常感谢
  • @cdarke 非常感谢您
  • @evbo:如果有什么安慰的话,你不是第一个遇到这个问题的人,也不会是最后一个。这个问题每周至少出现一次。

标签: python argparse


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2017-05-07
    • 2012-08-23
    • 1970-01-01
    • 2023-04-06
    • 2011-09-30
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 2018-04-28
    相关资源
    最近更新 更多