在python中导入和使用模块
python新手,正在尝试使用随机数生成器。但是,我在导入随机模块时遇到问题。当我尝试使用随机模块中的任何内容时,我会得到一个AttributeError。谢谢你的帮助在python中导入和使用模块,python,import,Python,Import,python新手,正在尝试使用随机数生成器。但是,我在导入随机模块时遇到问题。当我尝试使用随机模块中的任何内容时,我会得到一个AttributeError。谢谢你的帮助 #!/usr/bin/python -tt import random def main(): x = random.randint(1,1000) print x if __name__ == '__main__': main() 在当前目录中可能有一个名为random.py(或pyc)的文件。通过执行以下
#!/usr/bin/python -tt
import random
def main():
x = random.randint(1,1000)
print x
if __name__ == '__main__':
main()
在当前目录中可能有一个名为random.py(或pyc)的文件。通过执行以下操作,您可以找到正在使用的随机模块的来源:
import random
print(random.__file__)
好的,不要将您的python程序命名为
random.py
将其命名为其他名称。解释器被它的模块和你的程序弄糊涂了。python导入系统模糊地工作如下
import foo
的行sys.path
中查看目录,这是一个按发生顺序排列的列表。sys.path
中的第一个条目是主文件所在的目录sys.modules['foo']
中李>
foo
random.py
时,python会在搜索标准库中的文件之前找到该文件。您正在用文件“隐藏”随机
模块
这是简化的,并没有给出完整的图片。例如,它忽略.pyc文件。我在阅读本文时解决了同样的问题。我的文件名为random.py 以大写字母开始文件名不是更好吗,这样它与python模块不匹配,因为像我这样的新手对很多python模块都不熟悉。
谢谢准确的错误是什么?这段代码很好。删除了[random number generator],因为这不是关于随机数生成器的问题。这只是关于导入模块的问题。下面是错误:回溯(最后一次调用):文件“/random.py”,第10行,在main()文件中“/random.py”,第6行,在main x=random.randint(11000)AttributeError:“module”对象没有属性“randint”。您也可以交互运行Python解释器并随机导入,看看会发生什么。在这种情况下,请阅读
trypy的
answer.FWIW,显然在windows机器上,这在某些情况下不会给出完整路径。回溯(最近一次调用):File“/anothername.py”,第10行,在main()文件中“/anothername.py”,第6行,在main x=random.randint(11000)中AttributeError:“module”对象没有属性“randint”@Empty Monty:首先将建议的代码放入模块中。查看它打印的内容。很可能是您忘记删除random.pyc文件。您是否移动/删除了名为random.py(普通代码)和random.pyc(字节码编译)的文件?如果是这样,我的答案是错误的……这就解决了问题。我打印了文件的位置,并说它来自同一个目录,可能是在运行random.py之后创建的。我将pyc文件销毁,重命名为其他文件,打印了文件的位置,它来自python库。愚蠢的python新手错误。非常感谢您r帮助!非常感谢。谢谢你的详细回答。现在一切都讲得通了。