รายการ

การ import python module

การนำเข้า Module หรือ Library สามารถนำเข้ามาได้ด้วยคำสั่ง import ซึ่งประกาศไว้ตอนหัวของ code
เราสามารถนำเข้า Python standard library หรือ เป็น library ที่เราเขียนเองก็ได้ ซึ่งมีรูปแบบดังตัวอย่างข้างล่าง

import re
import string
import sys
import os

การนำเข้า Library ไม่ได้มีลำดับเจาะจงเพียงแต่คุณต้องนำเข้า ก่อนที่จะเรียกใช้ใช้งาน function ใน Module หรือ library นั้น ๆ และยังสามารถ import โดยใช้บรรทัดเดียวได้ดังนี้

import re, string, sys, os

บางครั้งการนำเข้า module เราอาจจะไม่ต้องนำเข้าทั้งหมดเพียงแต่เลือกเฉพาะ function ที่เราจำเป็นต้องใช้งาน เช่น

from posix import environ

ในกรณีที่เราอยากทราบว่า module หรือ library ที่เรานำเข้ามามี function อะไรอยู่บ้างก็สามารถใช้คำสั่ง dir() เพื่อเรียกดูเช่น

>>>import string
>>>dir(string)
['Template', '_TemplateMetaclass', '__builtins__', '__doc__', '__file__', '__name__', '_float', '_idmap', '_idmapL', '_int', '_long', '_multimap', '_re', 'ascii_letters','ascii_lowercase', 'ascii_uppercase', 'atof', 'atof_error', 'atoi', 'atoi_error', 'atol', 'atol_error', 'capitalize', 'capwords', 'center', 'count', 'digits', 'expandtabs', 'find','hexdigits', 'index', 'index_error', 'join', 'joinfields', 'letters', 'ljust', 'lower', 'lowercase', 'lstrip', 'maketrans', 'octdigits', 'printable', 'punctuation', 'replace', 'rfind','rindex', 'rjust', 'rsplit', 'rstrip', 'split', 'splitfields', 'strip', 'swapcase', 'translate', 'upper', 'uppercase', 'whitespace', 'zfill']

เป็นต้น

กรณีที่เราเขียน python มากกว่า 1 file และต้องการที่จะ share ค่าตัวแปร หรือส่งผ่านข้อมูลเข้าหากันสามารถทำการ import ได้ดังตัวอย่าง
- สร้าง python script ขึ้นมา 2 file คือ import_example.py,mylib.py

#!/bin/local/python
#Example 1 [import_example.py]
import mylib
print "count = ",mylib.count

และ

#!/bin/local/python
#Example 2
#Code mylib.py for test import by other module
count = 20 # กำหนดค่า count ไว้เท่ากับ 20

หลังจากทำการ save เป็นที่เรียบร้อย
ทำการ run script import_example.py ใช้คำสั่ง

$ python import_example.py

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

count = 20

Leave a Reply