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
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
TypeError: a bytes-like object is required, not 'str' when writing to a file in Python3 (0) | 2021.12.13 |
---|---|
Python 스크립트를 프로파일링 하는 방법 (0) | 2021.12.13 |
프로그램을 실행하거나 Python에서 시스템 명령을 호출하는 방법 (0) | 2021.12.13 |
Python 3에서 "python -m SimpleHTTPServer" 사용하는법 (0) | 2021.12.13 |
Python에서 YAML 파일을 구문 분석하는 방법 (0) | 2021.12.13 |