对象使用argparse时没有属性

3
我正在按照这个教程尝试将argparse应用到我正在编写的python脚本中。
当我运行教程中的这段代码时,我收到以下错误信息:
[05:51 PM] user Scripts> cat argparse.py
import argparse
parser = argparse.ArgumentParser()
parser.parse_args()



[05:51 PM] user Scripts> python3 argparse.py
Traceback (most recent call last):
  File "argparse.py", line 1, in <module>
    import argparse
  File "/home/brian/Documents/Scripts/argparse.py", line 2, in <module>
    parser = argparse.ArgumentParser()
AttributeError: 'module' object has no attribute 'ArgumentParser'

我正在运行 Python 3.3.2,并使用 easy_install 安装了 argparse 1.2.1,所以我知道它已经在系统中了,但我无法确定是什么引起了错误。
注意:我已经阅读了这篇文章,与此无关。

你不需要easy_install版本与3.3.2(或2.7)一起使用。它已经随这些更新的Python版本一同提供了。 - hpaulj
知道这点很好。我在一个CentOS盒子上,所以我不得不进行altinstall以避免破坏yum,我遵循的文章只是让我这样做。谢谢! - ProfessionalAmateur
1个回答

8

根据错误信息,我猜测你的脚本试图从本地的/home/brian/Documents/Scripts/argparse.py模块导入,而不是从argparse包中导入。请重命名你的文件并再次尝试。


谢谢,我本该知道不要命名脚本为argparse.py,重命名它就像预期的那样起作用了。只要系统允许,我会将此标记为正确。 - ProfessionalAmateur
2
同时删除任何剩余的 argparse.py* 文件,例如 argparse.pyc - DrStrangepork

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接