2014-05-15 2 views
1

나는 파이썬을 처음 사용하므로 용서해주십시오. 변수를 포함 beep.py, : P (문자열을 포함) 및 기능 : PS모듈을 실행하지 않고 모듈에서 단일 변수와 단일 함수를 가져 옵니까?

난 모듈을 갖는다. 모듈 (부스)에서이 두 가지를 모두 액세스해야합니다. 그때, import beep를 작성하려고하면 실행 경고음이 모든 코드의

내 문제이다. 이 문제를 해결할 수있는 방법이 있습니까?

+0

어떻게 '삐'소리가 나옵니까? 'main()'함수를 가지고 있고,'if __name__ == "__main __":'을 사용하고 있습니까? – jonrsharpe

답변

0

파이썬은 항상 가져 오는 파일을 평가하므로 함수 나 클래스 밖에있는 코드가 있으면 실행됩니다. tdelaney 당신이

if __name__ == '__main__': 

사용하여 가져온 파일을 보호 할 수 말했듯이 내가 여기에 전체 예를 작성했습니다 : https://gist.github.com/carlosvin/d9a1eb978fac226dbbe9

2

파이썬은 모두 최고 수준의 명령을 실행 모듈을 가져올 때. 가져 오기가 가능한 잘 동작하는 모듈은 최상위 코드로 수행하는 작업을 제한해야합니다. - 수입시 코드를 실행할 수 있지만 부작용이 없어야합니다. if __name__ == '__main__' 관용구를 사용하여 스크립트 및 가져온 모듈로 실행할 수있는 파이썬 모듈을 사용하는 것이 일반적입니다 (예 참조).

import beep이 문제를 일으키는 경우 가져 오기를 위해 설계되지 않았거나 잘못 작성되어 수정해야합니다.

print 'i always run' 

def fctn(): 
    print 'i run when called' 

if __name__ == '__main__': 
    print 'i run if called as a script but not if imported as a module' 
관련 문제