파이썬에서 #ifdef 문?

조회수 5090회

C에서

#define TEST_MODE1
#define TEST_MODE2


#ifdef TEST_MODE1
테스트모드1일때만 실행되는 코드
#endif

#ifdef TEST_MODE2
테스트모드2일때만 실행되는 코드
#endif


#ifdef TEST_MODE1
#ifdef TEST_MODE2

테스트모드1,2일때만 실행되는 코드
#endif
#endif

를 애용합니다.

python-pycharm 환경에서는 어떤 방법이 있습니까?

단순히 보여지지 않고 로그만 안 찍는 것이 아닌, 해당 부분이 아예 없어진 것으로 보이게, 코드가 해석할 때 그 부분이 없는 것으로 처리하고 싶습니다.

https://stackoverflow.com/questions/560040/conditional-compilation-in-python 이런 것 보다 좀 더 직관적으로 쓸 수 있는 #ifdef 같은 것을쓰고 싶습니다.

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    https://stackoverflow.com/a/2987538/4439606

    여기 나온 답변을 보면 pypreprocessor 라는게 있는 모양입니다. 이 라이브러리를 사용하면

    from pypreprocessor import pypreprocessor
    
    pypreprocessor.parse()
    
    #define debug
    
    #ifdef debug
    print('The source is in debug mode')
    #else
    print('The source is not in debug mode')
    #endif
    

    이런게 가능한 모양입니다. 제가 파이썬을 자주 쓰지는 않아서 패키지 관련은 잘 모르겠지만 PYPI 라는걸로 설치가 가능하다고 합니다. 저 링크에 들어가서 한번 읽어 보시면 좋을 것 같네요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)