Como usted puede saber de mis posts anteriores, estoy aprendiendo Python. Y esta vez tengo un pequeño error que creo que es con esta versión de Python en sí. Cuando se utiliza la siguiente:

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

Python me da este error:

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

Cada vez que trato de ejecutarlo. Mí no entender. Cualquier ayuda sería muy apreciada!

EDIT: Las dos líneas de código que estoy tratando de ejecutar:

import random
print random.randint(1,100)

Que es. Y me da el mismo error.

  • Se que importar el módulo dos veces?
  • Usted no puede llamar a su script con el mismo nombre. Cambiar a my_random.py o algo más.
  • Gracias, pero que no parecen trabajar.
  • Nope, sólo una vez:
  • ¿Qué hace su declaración import parece?
  • Por favor enviar todos los de su código. Después de la lectura de su error de la instrucción parece que estás tratando de print random.random() que no existe. A qué te refieres print number?
  • Escribí esto y me dio el mismo error: importación de azar de impresión al azar.randint(1,100) y nada. Tanto en líneas separadas de curso
  • Usted probablemente se guardan como otro archivo llamado my_random.py en el mismo directorio. Borrar el original random.py archivo que creó, a continuación, ejecute my_random.py.
  • También, después de cambiar el nombre, recuerda eliminar el compilado random.pyc que se han creado previamente. La presencia de este archivo en el directorio de secuencia de comandos todavía confusamente causado el mismo problema.

InformationsquelleAutor MalyG | 2012-12-11

3 Comentarios

  1. 9

    Por el nombre de tu script random.py, ha creado un conflicto de nombres con el random estándar módulo de biblioteca.

    Cuando intenta ejecutar la secuencia de comandos, el directorio que contiene el script será añadido al inicio del módulo de importación de ruta. Así que cuando su script no import random, que efectivamente está ejecutando una segunda copia de la escritura como la random módulo.

    Cuando el random módulo se ejecuta import random, significa que random.random también será una referencia a su módulo. Así que cuando intenta llamar a la random.random() de la biblioteca estándar de la función, en realidad se está intentando llamar el módulo de la resultante en el error que tienes.

    Si cambia el nombre de la secuencia de comandos para algo más, el problema debería desaparecer.

    • Yo realmente creo que este era el problema. Mientras que este post no me ayuda, es lo que hice para solucionarlo, creo. Respuesta aceptada.
  2. 0

    Estoy usando pycharm y he tenido que tomar el paso adicional para importar los métodos from random. En mi caso:

    import random
     from random import choice
  3. 0

    Incluso a los que me enfrentaba al mismo problema. He cambiado el nombre de mi archivo de python de random.py a shuffle.py. Esto no funcionó. Entonces cambié la versión de entonces se trabajó. Esto puede ayudar un poco.
    La versión de Python : 3.6.7
    reemplazar
    importación de azar;
    a
    importación random2;

Dejar respuesta

Please enter your comment!
Please enter your name here