0

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

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 太陌生,无法自己有效地解决它。

4

2 回答 2

3

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

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

将函数名称更改为类似random_str

于 2012-11-15T11:40:26.683 回答
1

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

于 2012-11-15T11:40:34.077 回答