플러스 :
첫째 : 온화하고 패배 가능한 난독 화.
둘째 : 컴파일 결과 파일 크기가 훨씬 작아지면로드 시간이 더 빨라집니다. 웹에 좋습니다.
셋째 : 파이썬은 컴파일 단계를 건너 뛸 수 있습니다. 초기로드에서 더 빠릅니다. CPU와 웹에 좋습니다.
넷째, 의견이 많을수록 소스 파일 과 비교 하여 .pyc또는 .pyo파일이 작아집니다 .py.
다섯째 : 파일 .pyc또는 .pyo파일 만 보유한 최종 사용자 는 되돌려지지 않은 변경으로 인해 발생한 버그를 사용자에게 알리기 어렵습니다.
여섯 번째 : 임베디드 시스템을 목표로하는 경우, 더 작은 크기의 파일을 확보하면 상당한 이점을 얻을 수 있으며 아키텍처가 안정적이므로 아래에 설명 된 단점 중 하나가 적용되지 않습니다.
최상위 편집
최상위 파이썬 소스 파일을 다음과 .pyc같은 방식으로 파일로 컴파일 할 수 있다는 것을 아는 것이 유용합니다 .
python -m py_compile myscript.py
주석이 제거됩니다. 그것은 잎 docstrings그대로. 를 제거 docstrings하고 싶다면 (왜 그렇게하고 있는지 진지하게 생각하고 싶을 수도 있음) 대신이 방법으로 컴파일하십시오 ...
python -OO -m py_compile myscript.py
... 그리고 당신은 .pyo파일 대신에 파일을 얻을 것입니다 .pyc; 코드의 필수 기능 측면에서 똑같이 배포 가능하지만 제거 된 크기로 작습니다 docstrings( docstrings처음에 괜찮은 경우 후속 고용에 대해서는 이해하기 쉽지 않음). 그러나 아래의 단점 3을 참조하십시오.
파이썬이 사용하는 참고 .py가 존재하는 경우는, 실행할지 여부를 결정하기 위해, 파일의 날짜를 .py받는 반대로 파일 .pyc이나 .pyo파일을 편집 평 파일 있도록 ---하고, .pyc또는 .pyo무효이며, 어떤 당신이 손실됩니다 얻은 도움이됩니다. 예를 들어 .pyc또는 .pyo이점을 다시 다시 얻으려면 다시 컴파일해야 합니다.
단점 :
첫째 : "매직 쿠키" .pyc와 .pyopython 파일이 컴파일 된 시스템 아키텍처를 나타내는 파일이 있습니다. 이러한 파일 중 하나를 다른 유형의 환경에 배포하면 파일이 손상됩니다. 당신이 배포하는 경우 .pyc또는 .pyo관련없이 .py재 컴파일 또는 touch그래서는 대체 .pyc또는 .pyo최종 사용자는 하나, 문제를 해결할 수 있습니다.
둘째 : 위에서 설명한 명령 줄 옵션을 docstrings사용하여 건너 뛰면 -OO아무도 해당 정보를 얻을 수 없으므로 코드 사용이 더 어려워 지거나 불가능 해집니다.
셋째 : Python의 -OO옵션은 -O명령 행 옵션에 따라 일부 최적화를 구현합니다 . 작동이 변경 될 수 있습니다. 알려진 최적화는 다음과 같습니다.
sys.flags.optimize = 1
assert 문을 건너 뜁니다
__debug__ = 거짓
넷째 : #!/usr/bin/python첫 번째 줄 의 순서대로 파이썬 스크립트를 의도적으로 실행 가능하게 만들면 이가 제거 .pyc되고 .pyo파일 이 제거 되고 해당 기능이 손실됩니다.
다섯째 : 다소 명백하지만 코드를 컴파일하면 코드의 사용에 영향을 줄뿐만 아니라 다른 사람들이 작업에서 배울 가능성이 줄어 듭니다.