파이썬에서 바이트코드 파일을 어떻게 생성합니까?

| | | | |

바이트코드는 파이썬에서 런타임에 로드되고 가상 머신에 의해 해석됩니다. 가상 머신은 바이트코드의 각 명령어를 읽고 지정된 작업을 수행하는 코드 조각입니다.

바이트코드는 python 모듈을 처음 가져오거나 소스가 현재 컴파일된 파일보다 나중일 때 볼륨을 .py 파일과 동일한 디렉토리로 만듭니다. 다음에 프로그램을 실행할 때 Python 인터프리터는 이 파일을 사용하여 컴파일 단계를 건너뜁니다.

스크립트 실행은 가져오기 로 간주되지 않으며 .pyc 파일도 생성. 예를 들어 다른 모듈 xyz.py를 가져오는 스크립트 파일 abc.py 를 작성해 보겠습니다. 이제 abc.py 파일을 실행하면 xyz를 가져오기 때문에 xyz .pyc 가 생성되지만 abc.pyc 는 생성되지 않습니다. abc.py 를 가져오지 않았기 때문에 생성됩니다.

그러나 내장된 모듈과 명령 py_compile compileall 이 있습니다. pyc 파일을 더 쉽게 만들 수 있습니다.

  1. py_compile.compile 사용: py_compile 모듈은 모든 모듈을 수동으로 컴파일할 수 있습니다. 한 가지 방법은 이 모듈에서 py_compile.compile 함수를 대화식으로 사용하는 것입니다.
    > > > import py_compile > > > py_compile.compile (`abc.py`) 

    이렇게 하면 abc.py와 같은 위치에 .pyc가 기록됩니다.

  2. py_compile을 사용합니다. main() : 동시에 여러 파일을 컴파일합니다. <사전>> > > import py_compile > > > py_compile.main ([`File1.py`,` File2.py`, `File3.py`])
  3. compileall.compile_dir() 함수 사용 : 제공된 디렉토리에 있는 모든 파이썬 파일을 컴파일합니다. <사전>> > > 모든 컴파일 가져오기 > > > compileall.compile_dir (디렉토리 이름)
  4. 터미널에서 py_compile 사용:
    $ python -m py_compile File1.py File2.py File3.py ... 

    또는 대화식으로 파일을 컴파일하려면

    $ python -m py_compile - File1.py File2.py File3.py. ... ... 
  5. 터미널에서 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 홈페이지에 게재되는 기사를 보고 다른 괴짜를 도와주세요.

파이썬에서 바이트코드 파일을 어떻게 생성합니까? _files: Questions

파이썬에서 바이트코드 파일을 어떻게 생성합니까? File handling: Questions

Shop

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method