4

您可能从我之前的帖子中知道,我正在学习 Python。而这一次我有一个小错误,我认为这是 Python 本身的构建。使用以下内容时:

import random
number = random.randint(1,10000)

Python给了我这个错误:

File "C\Users\name\Documents\Python\random.py", line 5, in (module)
  print random.random()
TypeError: 'module' object is not callable

每次我尝试运行它。我不明白。任何帮助将非常感激!

编辑:我试图运行的两行代码:

import random
print random.randint(1,100)

就是这样。它给了我同样的错误。

4

4 回答 4

15

通过命名您的脚本random.py,您与random标准库模块产生了命名冲突。

当您尝试运行脚本时,包含脚本的目录将添加到模块导入路径的开头。因此,当您的脚本import random运行时,您实际上是在将脚本的第二个副本作为random模块运行。

random模块运行import random时,这意味着它random.random也将是对您的模块的引用。因此,当您尝试调用random.random()标准库函数时,实际上是在尝试调用模块对象,从而导致出现错误。

如果您将脚本重命名为其他名称,问题应该会消失。

于 2012-12-11T03:59:27.923 回答
0

我正在使用 pycharm,我不得不采取额外的步骤来导入方法from random。就我而言:

import random
 from random import choice
于 2018-12-15T15:28:17.243 回答
0

甚至我也面临同样的问题。我已将我的 python 文件从 random.py 重命名为 shuffle.py。这没有成功。然后我更改了版本然后它工作了。这可能会有所帮助。Python 版本:3.6.7 替换导入随机;导入随机数2;

于 2019-06-15T12:26:32.323 回答
-2

简单的答案:将您的文件名从“random.py”更改为其他名称,因为它与随机库冲突。

于 2020-04-24T09:12:03.627 回答