바이트코드는 파이썬에서 런타임에 로드되고 가상 머신에 의해 해석됩니다. 가상 머신은 바이트코드의 각 명령어를 읽고 지정된 작업을 수행하는 코드 조각입니다.
바이트코드는 python 모듈을 처음 가져오거나 소스가 현재 컴파일된 파일보다 나중일 때 볼륨을 .py 파일과 동일한 디렉토리로 만듭니다. 다음에 프로그램을 실행할 때 Python 인터프리터는 이 파일을 사용하여 컴파일 단계를 건너뜁니다.
스크립트 실행은 가져오기 로 간주되지 않으며 .pyc 파일도 생성. 예를 들어 다른 모듈 xyz.py를 가져오는 스크립트 파일 abc.py 를 작성해 보겠습니다. 이제 abc.py 파일을 실행하면 xyz를 가져오기 때문에 xyz .pyc 가 생성되지만 abc.pyc 는 생성되지 않습니다. abc.py 를 가져오지 않았기 때문에 생성됩니다.
그러나 내장된 모듈과 명령 py_compile 및 compileall 이 있습니다. pyc 파일을 더 쉽게 만들 수 있습니다.
- py_compile.compile 사용: py_compile 모듈은 모든 모듈을 수동으로 컴파일할 수 있습니다. 한 가지 방법은 이 모듈에서 py_compile.compile 함수를 대화식으로 사용하는 것입니다.
> > > import py_compile > > > py_compile.compile (`abc.py`)
이렇게 하면 abc.py와 같은 위치에 .pyc가 기록됩니다.
- py_compile을 사용합니다. main() : 동시에 여러 파일을 컴파일합니다. <사전>> > > import py_compile > > > py_compile.main ([`File1.py`,` File2.py`, `File3.py`])
- compileall.compile_dir() 함수 사용 : 제공된 디렉토리에 있는 모든 파이썬 파일을 컴파일합니다. <사전>> > > 모든 컴파일 가져오기 > > > compileall.compile_dir (디렉토리 이름)
- 터미널에서 py_compile 사용:
$ python -m py_compile File1.py File2.py File3.py ...
또는 대화식으로 파일을 컴파일하려면
$ python -m py_compile - File1.py File2.py File3.py. ... ...
- 터미널에서 compileall 사용: 이 명령은 자동으로 하위 디렉토리로 재귀적으로 탐색하고 찾은 모든 Python 파일에 대해 .pyc 파일을 생성합니다.
$ python -m compileall
참고 . compileall 및 py_compile 모듈은 Python 표준 라이브러리의 일부이므로 사용하기 위해 추가로 설치할 필요가 없습니다.
링크:
1. https://docs.python.org/3/library/py_compile .html
2. https://docs.python.org/2/library/compileall .html
3. 에프봇
이 기사는 Shubham Bansal 에서 제공한 것입니다. Python.Engineering으로서 기여하고 싶다면 Contribute.python.engineering 을 사용하거나 기사를 게시하여 기사를 작성할 수도 있습니다. 기여 @ python.engineering. Python.Engineering 홈페이지에 게재되는 기사를 보고 다른 괴짜를 도와주세요.