python 2.5中随机不起作用?

时间:2008-09-16 16:49:34

标签: python

我正在尝试在python中使用import random语句,但它似乎没有任何方法可供使用。

我错过了什么吗?

8 个答案:

答案 0 :(得分:35)

您的工作目录中可能有一个名为random.py或random.pyc的文件。这是内置随机模块的阴影。您需要将random.py重命名为my_random.py和/或删除random.pyc文件。

要确定发生了什么,请执行以下操作:

>>> import random
>>> print random.__file__

这将显示您正在导入的文件。

答案 1 :(得分:3)

这是因为你在python搜索路径中有一个random.py文件,很可能是当前目录。

Python正在使用sys.path搜索模块,sys.path通常包含标准site-packages之前的当前目录,其中包含预期的random.py。

预计这将在Python 3.0中修复,因此您无法使用特殊的导入语法从当前目录导入模块。

只需删除你正在运行python的目录中的random.py + random.pyc,它就能正常工作。

答案 2 :(得分:2)

我认为您需要提供更多信息。根据问题中的信息,它无法回答为什么它不起作用。随机的基本文档是: https://docs.python.org/library/random.html

您可以在那里查看。

答案 3 :(得分:1)

Python 2.5.2 (r252:60911, Jun 16 2008, 18:27:58)
[GCC 3.3.4 (pre 3.3.5 20040809)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import random
>>> random.seed()
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill', '_BuiltinMethodType', '_MethodType', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '_acos', '_ceil', '_cos', '_e', '_exp', '_hexlify', '_inst', '_log', '_pi', '_random', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'jumpahead', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'uniform', 'vonmisesvariate', 'weibullvariate']
>>> random.randint(0,3)
3
>>> random.randint(0,3)
1
>>>  

答案 4 :(得分:1)

如果您尝试运行的脚本本身称为random.py,那么您将遇到命名冲突。为脚本选择一个不同的名称。

答案 5 :(得分:0)

你能发布一个你想要做的事情的例子吗?从你的问题不清楚实际问题是什么。

以下是如何使用随机模块的示例:

import random
print random.randint(0,10)

答案 6 :(得分:0)

似乎对我来说很好。查看official python documentation中随机的方法:

>>> import random
>>> random.random()
0.69130806168332215
>>> random.uniform(1, 10)
8.8384170917436293
>>> random.randint(1, 10)
4

答案 7 :(得分:0)

适合我:

Python 2.5.1 (r251:54863, Jun 15 2008, 18:24:51) 
[GCC 4.3.0 20080428 (Red Hat 4.3.0-8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import random
>>> brothers = ['larry', 'curly', 'moe']
>>> random.choice(brothers)
'moe'
>>> random.choice(brothers)
'curly'