development

파이썬 모듈을 가져 왔는지 확인하는 방법은 무엇입니까?

big-blog 2020. 12. 4. 19:41
반응형

파이썬 모듈을 가져 왔는지 확인하는 방법은 무엇입니까?


코드의 어딘가에 모듈을 가져 왔는지 어떻게 확인합니까?

 if not has_imported("sys"):
     print 'you have not imported sys'

내가 이미 모듈을 가져 왔는지 확인하고 싶은 이유는 때때로 내 프로그램을 엉망으로 만들기 때문에 가져오고 싶지 않은 모듈이 있기 때문입니다.


sys.modules사전 에서 모듈 이름을 테스트하십시오 .

import sys

modulename = 'datetime'
if modulename not in sys.modules:
    print 'You have not imported the {} module'.format(modulename)

문서에서 :

이미로드 된 모듈에 모듈 이름을 매핑하는 사전입니다.


sys.modules를 사용하여 모듈을 가져 왔는지 테스트합니다 (예로 unicodedata를 사용하고 있습니다).

>>> import sys
>>> 'unicodedata' in sys.modules
False
>>> import unicodedata
>>> 'unicodedata' in sys.modules
True

허용되는 sys.modules 답변에 가져올 때 모듈 이름을 바꿀 때주의해야 할 한 가지주의 사항을 추가합니다.

>>> import sys
>>> import datetime as dt
>>> 'dt' in sys.modules
False
>>> 'datetime' in sys.modules
True

sys.modules 인터프리터의 현재 인스턴스에서 사용되는 모든 모듈이 포함되어 있으므로 다른 Python 모듈에서 가져온 경우 표시됩니다.

dir() 이름이 현재 네임 스페이스에 정의되었는지 확인합니다.

2의 조합은 각각의 조합보다 더 안전하며 copy자신을 정의하지 않는 한 작동합니다 .

if ('copy' in sys.modules) and ('copy' in dir()):

if "sys" not in dir():
  print("sys not imported!")

참고 URL : https://stackoverflow.com/questions/30483246/how-to-check-if-a-python-module-has-been-imported

반응형