Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เราสามารถเก็บโมดูล Python ในรูปแบบคอมไพล์ได้หรือไม่?


ใช่ คุณสามารถเก็บโมดูล Python ไว้ในรูปแบบคอมไพล์ได้ Python จะคอมไพล์ซอร์สโค้ดของ Python โดยอัตโนมัติเมื่อคุณนำเข้าโมดูล ดังนั้นวิธีที่ง่ายที่สุดในการสร้างไฟล์ PYC คือการนำเข้า หากคุณมีโมดูล mymodule.py ให้ทำดังนี้:

>>> import mymodule

เพื่อสร้างไฟล์ mymodule.pyc ในไดเร็กทอรีเดียวกัน ข้อเสียคือมันไม่ได้แค่คอมไพล์โมดูลเท่านั้น แต่ยังรันมันด้วย ซึ่งอาจไม่ใช่สิ่งที่คุณต้องการ (แต่จะคอมไพล์สคริปต์ทั้งหมดแม้ว่าจะไม่สามารถรันสคริปต์ได้) ในการดำเนินการนี้โดยทางโปรแกรม และไม่ต้องดำเนินการโค้ด คุณสามารถใช้โมดูล 'py_compile':

>>> import py_compile
>>> py_compile.compile("mymodule.py")

นอกจากนี้ยังมีโมดูล 'คอมไพล์ทั้งหมด' ที่สามารถใช้รวบรวมโมดูลทั้งหมดในแผนผังไดเร็กทอรีทั้งหมดได้

>>> import compileall
>>> compileall.compile_dir("mylib", force=1)

โปรดทราบว่ารหัสไบต์ของ Python สามารถเคลื่อนย้ายระหว่างแพลตฟอร์มต่างๆ แต่ไม่จำเป็นระหว่างรุ่น Python ที่วางจำหน่าย