【问题标题】:Attribute Error 'module' object has no attribute 'ascii_letters'属性错误“模块”对象没有属性“ascii_letters”
【发布时间】:2015-09-23 17:36:19
【问题描述】:

为什么我会从下面的代码中收到标题中的错误消息?

编辑:因为我没有注意我是如何写“ascii”的。谢谢大家

下面的代码在我的 Iphone IDE 上运行良好,但在我的 Windows 7 上运行良好(带有 Notepad++ 和命令提示符)。我检查了目录以查看是否存在任何我没有看到的 string.py 文件。我在我的桌面上进行了搜索,发现了 4 个名为该文件的文件,其中两个表示它们已被遵守。我删除了编译的文件并留下了另外两个。我是菜鸟。

import string
import random

x = string.acsii_letters
y = random.choice(x)

print y * 5

【问题讨论】:

  • 什么版本的python?
  • @ChadSimmons python 2.7 每个标题
  • ascii 不是acsii
  • 你会得到的错误是AttributeError: 'module' object has no attribute 'acsii_letters' 有趣的是你在标题中发布了正确的“ascii”

标签: python python-2.7


【解决方案1】:

应该是string.ascii_letters 字母而不是string.acsii_letters。如果这只是此处代码语句中的拼写错误,那么您的猜测一定是正确的,您的PYTHONPATH 中还有另一个字符串模块。打开python shell,

import string
print(string.__file__)

确保从正确的路径导入字符串。如果它没有从PYTHONPATH 中删除该路径。

【讨论】:

    【解决方案2】:

    在 python 3 中,我发现使用 string.ascii_letters 作为string.letters 会导致 AttributeError。

    【讨论】:

      【解决方案3】:

      你有一个错字。它应该是string.ascii_lettersstring.letters。你可以用dir(string)查看字符串模块的属性,看看你能访问到什么。

      【讨论】:

        【解决方案4】:

        我遇到了同样的问题,原因是文件名与模块名相同。所以只需重命名您的文件,该模块就可以正常工作

        【讨论】:

        • 这个问题六年前就有答案了。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-29
        • 2011-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-23
        相关资源
        最近更新 更多