创建随机字符串时Python 2.73中的属性错误

时间:2012-11-15 11:39:18

标签: python

我正在使用以下函数(我认为非常简单)来生成随机字符串:

import sys
import string
import random

    def random(size=16):
        lst = [random.choice(string.ascii_letters + string.digits) for n in xrange(size)]
        str = "".join(lst)
        return str

但是,我一直收到以下错误:

AttributeError: 'function' object has no attribute 'choice'

有人能告诉我我的代码有什么问题吗?谷歌似乎没有帮助,我对Python来说太新了,无法自己解决问题。

2 个答案:

答案 0 :(得分:3)

您正在使用函数定义覆盖import random

Python命名空间中的“随机”名称现在指的是您的功能而不是您想要的random模块。

将功能名称更改为random_str

答案 1 :(得分:1)

当您的函数也是模块的名称时,您正在使用名称random。将您的功能重命名为其他功能,它将起作用。