__name__ == '__main__'
일 때만 스크립트로 실행할 때 더 좋은 방법이 있습니까?스크립트로 실행할 때만 인쇄 하시겠습니까?
필자도 일부 스크립트를 가져 와서 사용합니다. 등
뭔가 아래 작동하지만, 못생긴, 별도로 각 스크립트에 정의되어야 할 것이다 것 :
def printif(s):
if globals()['__name__'] == '__main__':
print (s)
return
내가 파이썬의 로깅 라이브러리의 일부에 잠깐 보았다하지만이 개 가벼운 솔루션을 선호하는 것 .. .
편집 :
# mylog.py
import sys
import logging
log = logging.getLogger()
#default logging level
log.setLevel(logging.WARNING)
log.addHandler(logging.StreamHandler(sys.stdout))
:이 같은 일을 결국
그리고 스크립트 :
import log from mylog
...
log.info(...)
log.warning(...)
...
if __name__ == '__main__':
#override when script is run..
log.setLevel(logger.INFO)
이 제도는 내가 원하는 정확히 무엇 인 ... 스크립트 로그 수준에 따라 최소한의 코드 중복, 및 프로젝트 전체의 기본 수준을 가지고있다. 로깅 라이브러리를 사용
는
변형을 사용하고 있습니다. 간단한 파이썬 로깅은 가볍습니다 (보일러 - 플레이트, 구문). – user318904