Python “import random” Error

2020-04-11 08:24发布

问题:

As you may know from my previous posts, I'm learning Python. And this time I have a small error which I think is with this build of Python itself. When using the following:

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

Python gives me this error:

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

Every time I try to run it. Me no understand. Any help would be much appreciated!

EDIT: The two lines of code I'm trying to run:

import random
print random.randint(1,100)

That's it. And it gives me the same error.

回答1:

By naming your script random.py, you've created a naming conflict with the random standard library module.

When you try to run your script, the directory containing the script will be added to the start of the module import path. So when your script does import random, you're effectively running a second copy of the script as the random module.

When the random module runs import random, it means that random.random will also be a reference to your module. So when you attempt to call the random.random() standard library function, you're actually attempting to call the module object resulting in the error you got.

If you rename your script to something else, the problem should go away.



回答2:

I am using pycharm and I had to take the additional step to import the methods from random. In my case:

import random
 from random import choice


回答3:

Even I faced the same problem. I have renamed my python file from random.py to shuffle.py. This didn't work out. Then I changed the version then it worked. This may help a bit. Python version : 3.6.7 replace import random; to import random2;



标签: python random