2012-12-11 99 views
3

从我以前的文章中可以知道,我正在学习Python。这次我有一个小错误,我认为这是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) 

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

+0

您是否导入模块两次? – enginefree

+8

你不能调用你的脚本相同的名称。将其更改为'my_random.py'或其他内容。 – squiguy

+0

@squiguy谢谢,但这似乎并没有工作。 – MalyG

回答

8

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

当您尝试运行脚本时,包含该脚本的目录将被添加到模块导入路径的开头。因此,当您的脚本执行import random时,您将有效地运行第二个脚本副本,即random模块。

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

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

+0

我其实认为这是问题所在。虽然这个实际的帖子没有帮助我,但我相信,这是我所做的修复它。接受答案。 – MalyG