플러스 :
첫째 : 온화하고 패배 가능한 난독 화.
둘째 : 컴파일 결과 파일 크기가 훨씬 작아지면로드 시간이 더 빨라집니다. 웹에 좋습니다.
셋째 : 파이썬은 컴파일 단계를 건너 뛸 수 있습니다. 초기로드에서 더 빠릅니다. 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
와 .pyo
python 파일이 컴파일 된 시스템 아키텍처를 나타내는 파일이 있습니다. 이러한 파일 중 하나를 다른 유형의 환경에 배포하면 파일이 손상됩니다. 당신이 배포하는 경우 .pyc
또는 .pyo
관련없이 .py
재 컴파일 또는 touch
그래서는 대체 .pyc
또는 .pyo
최종 사용자는 하나, 문제를 해결할 수 있습니다.
둘째 : 위에서 설명한 명령 줄 옵션을 docstrings
사용하여 건너 뛰면 -OO
아무도 해당 정보를 얻을 수 없으므로 코드 사용이 더 어려워 지거나 불가능 해집니다.
셋째 : Python의 -OO
옵션은 -O
명령 행 옵션에 따라 일부 최적화를 구현합니다 . 작동이 변경 될 수 있습니다. 알려진 최적화는 다음과 같습니다.
sys.flags.optimize
= 1
assert
문을 건너 뜁니다
__debug__
= 거짓
넷째 : #!/usr/bin/python
첫 번째 줄 의 순서대로 파이썬 스크립트를 의도적으로 실행 가능하게 만들면 이가 제거 .pyc
되고 .pyo
파일 이 제거 되고 해당 기능이 손실됩니다.
다섯째 : 다소 명백하지만 코드를 컴파일하면 코드의 사용에 영향을 줄뿐만 아니라 다른 사람들이 작업에서 배울 가능성이 줄어 듭니다.