2012-12-11 3 views
3

이전 게시물에서 알 수 있듯이 저는 Python을 배우고 있습니다. 그리고 이번에는 파이썬 자체의 빌드로 생각되는 작은 오류가 있습니다. 사용하는 경우 다음Python "import random"오류

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

파이썬은 나에게 오류를 제공합니다

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

@ squiggyy 고마워요,하지만 그건 효과가없는 것처럼 보입니다. – MalyG

답변

8

스크립트 이름을 random.py으로 지정하면 random 표준 라이브러리 모듈과 이름 충돌이 발생했습니다.

스크립트를 실행하려고하면 스크립트가 들어있는 디렉터리가 모듈 가져 오기 경로의 시작 부분에 추가됩니다. 따라서 스크립트가 import random 일 때 실제로 스크립트의 두 번째 사본 인 random 모듈을 실행하고있는 것입니다.

random 모듈이 import random으로 실행되면 random.random도 모듈에 대한 참조가된다는 의미입니다. 따라서 random.random() 표준 라이브러리 함수를 호출하려고하면 실제로 모듈 객체를 호출하여 오류가 발생합니다.

스크립트의 이름을 다른 것으로 변경하면 문제가 해결됩니다.

+0

사실이게 문제라고 생각합니다. 이 실제 게시물은 도움이되지 않지만, 나는 그것을 고치기 위해 내가 한 것으로 믿습니다. 답변을 수락했습니다. – MalyG