รายการ

ทำความรู้จักกับ python file extension

.py

หลังจากทำการเขียน python script บน editor แล้วทำการบันทึกเป็น *.py ซึ่ง .py เป็น python extension สามารถทำการ สั่ง run ผ่าน python interpreter ได้ เช่น

root@laptop$ python example.py 

.pyc

เป็นcompiled bytecode ซึ่งถูกสร้างจาก python interpreter โดยอัติโนมัติ ด้วยเหตุผลที่ต้องการความรวดเร็วในการ run script หรือเรียกใช้งาน python library หลังจากที่คุณสั่ง run python file script เช่น example_code.py และทำการ import mylibrary ซึ่งเป็น file library ที่เราเขียนเอง มันจะสร้าง mylibrary.pyc ให้ใน directory เดียวกัน
1.สร้าง file example_code.py

#!/usr/bin/python
import mylibrary
print "Example to import mylibrary and check .pyc"

2.สร้าง file mylibrary.py

#!/usr/bin/python
print "This is my library"

3.ทำการ run example_code.py

root@laptop$ python example_code.py 

จะได้ผลลัพธ์เป็น

This is my library
Example to import mylibrary and check .pyc

หากตัว time stamp ของ File mylibrary.py ไม่ได้ถูกเปลี่ยนแปลง เช่น เราไม่ได้แก้ไขอะไรภายใน mylibrary.py ครั้งต่อไปที่เราใช้คำสั่ง python example.py มันก็จะไปเรียกใช้ mylibrary.pyc ซึ่งถูก compiled bytecode ไว้แล้ว ซึ่งจะมีความรวดร็วมากกว่าการ run .py อีกครั้ง

.pyd

เป็น Python Dynamic Module มีลักษณะการทำงานคล้าย dll ของ window จะถูกเรียกใช้งานเมื่อเราทำการ import library เข้าใน script ของเรา เช่น หากเราต้องการ libsvg.pydเปิด file script พิมพ์

import libsvg

.pyo

เป็น compiled bytecode คล้ายกับ .pyc เพียงแต่เป็นการ optimized code สามารถสร้างได้โดยการใส่ option -O

เช่น python -O example_code.py

หากทำตามตัวอย่างข้างบนตามหัวข้อ .pyc เราจะได้ mylibrary.pyo แทน mylibrary.pyc

.pyw

จะมีลักษณะการทำงานเหมือน .py ทุกประการเพียงแต่หากคุณเขียน python ร่วมกับ GUI และไม่ต้องการให้มีหน้าต่าง console สีดำ ๆ มารบกวนใจก็เปลี่ยน file script เป็น .pyw เสียก็เท่านั้น มีประโยชน์มากในการนำ code มา run winodw แล้วไม่ต้องการให้สะดุดตาผู้ใช้ ด้วย terminal console หน้าต่างดำ ๆ นั่นเอง

Leave a Reply