프로그래밍 언어/Python

파이썬 파일 확장자 .pyc .pyd .pyo가 의미하는 것

Rateye 2021. 12. 13. 00:28
728x90
반응형
질문 : 파이썬 파일 확장자 .pyc .pyd .pyo는 무엇을 의미합니까?

이 파이썬 파일 확장자는 무엇을 의미합니까?

  • .pyc
  • .pyd
  • .pyo

이들 간의 차이점은 무엇이며 * .py 파일에서 어떻게 생성됩니까?

답변

.pyc.pyo 에 대한 추가 논의는 http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html (아래에서 중요한 부분을 복사했습니다)을 참조하십시오.

  • Python 인터프리터가 -O 플래그로 호출되면 최적화 된 코드가 생성되어 '.pyo'파일에 저장됩니다. 최적화 프로그램은 현재별로 도움이되지 않습니다. assert 문만 제거합니다. -O를 사용하면 모든 바이트 코드가 최적화됩니다. .pyc 파일은 무시되고 .py 파일은 최적화 된 바이트 코드로 컴파일됩니다.
  • 두 개의 -O 플래그를 Python 인터프리터 (-OO)에 전달하면 바이트 코드 컴파일러가 최적화를 수행하여 드물게 프로그램이 오작동 할 수 있습니다. 현재는 __doc__ 문자열 만 바이트 코드에서 제거되어 더 압축 된 '.pyo'파일이 생성됩니다. 일부 프로그램은 이러한 기능을 사용하는 데 의존 할 수 있으므로 수행중인 작업을 알고있는 경우에만이 옵션을 사용해야합니다.
  • 프로그램은 '.py'파일에서 읽을 때보 다 '.pyc'또는 '.pyo'파일에서 읽을 때 더 빨리 실행되지 않습니다. '.pyc'또는 '.pyo'파일에 대해 더 빠른 유일한 것은 파일이로드되는 속도입니다.
  • 명령 줄에 이름을 지정하여 스크립트를 실행하면 스크립트의 바이트 코드가 '.pyc'또는 '.pyo'파일에 기록되지 않습니다. 따라서 대부분의 코드를 모듈로 이동하고 해당 모듈을 가져 오는 작은 부트 스트랩 스크립트를 사용하여 스크립트의 시작 시간을 줄일 수 있습니다. 명령 줄에서 직접 '.pyc'또는 '.pyo'파일의 이름을 지정할 수도 있습니다.
  • Python 인터프리터가 -O 플래그로 호출되면 최적화 된 코드가 생성되어 '.pyo'파일에 저장됩니다. 최적화 프로그램은 현재별로 도움이되지 않습니다. assert 문만 제거합니다. -O를 사용하면 모든 바이트 코드가 최적화됩니다. .pyc 파일은 무시되고 .py 파일은 최적화 된 바이트 코드로 컴파일됩니다.
  • 두 개의 -O 플래그를 Python 인터프리터 (-OO)에 전달하면 바이트 코드 컴파일러가 최적화를 수행하여 드물게 프로그램이 오작동 할 수 있습니다. 현재는 __doc__ 문자열 만 바이트 코드에서 제거되어 더 압축 된 '.pyo'파일이 생성됩니다. 일부 프로그램은 이러한 기능을 사용하는 데 의존 할 수 있으므로 수행중인 작업을 알고있는 경우에만이 옵션을 사용해야합니다.
  • 프로그램은 '.py'파일에서 읽을 때보 다 '.pyc'또는 '.pyo'파일에서 읽을 때 더 빨리 실행되지 않습니다. '.pyc'또는 '.pyo'파일에 대해 더 빠른 유일한 것은 파일이로드되는 속도입니다.
  • 명령 줄에 이름을 지정하여 스크립트를 실행하면 스크립트의 바이트 코드가 '.pyc'또는 '.pyo'파일에 기록되지 않습니다. 따라서 대부분의 코드를 모듈로 이동하고 해당 모듈을 가져 오는 작은 부트 스트랩 스크립트를 사용하여 스크립트의 시작 시간을 줄일 수 있습니다. 명령 줄에서 직접 '.pyc'또는 '.pyo'파일의 이름을 지정할 수도 있습니다.

노트 :

2015-09-15에 Python 3.5 릴리스 는 PEP-488을 구현하고 .pyo 파일을 제거했습니다. 즉, .pyc 파일은 최적화되지 않은 바이트 코드와 최적화 된 바이트 코드를 모두 나타냅니다.

출처 : https://stackoverflow.com/questions/8822335/what-do-the-python-file-extensions-pyc-pyd-pyo-stand-for
728x90
반응형