Login | thai-learning | Privacy Policy | About Us |

Thai Learning | ทฤษฎี IS ขั้นสูง | เว็บไทย | สารสนเทศวิทยานิพนธ์ | หนังสือรามคำแหงทั้งหมด | เกี่ยวกับผู้จัดทำ | บทกลอน |
วิชาที่เรียน 1/2555
   เมนูหลักวิชาเรียน 1/2555
   การโปรแกรมเว็บสารสนเทศ ฯ
   การโปรแกรมงานภูมิศาสตร์ ฯ
   โปรแกรมสำหรับงานสารสนเทศ
   อินเตอร์เน็ตและการบริการ สารสนเทศบนเว็บ
   บรรยากาศ เทอม 1-2555
โปรแกรมที่ผมพัฒนาครับ
   เมนูหลักโปรแกรมที่ผมพัฒนา
   ถอดรหัสผ่าน M$-Access
   ระบบการเข้าเรียนและให้คะแนน
   การทำงานของ Adder Logic
   ปรับระดับเสียงโวลุ่ม ด้วย CLI
   เกมส์เลื่อนภาพแสนสนุก vb6
    โปรแกรมจับเวลา การนำเสนอผลงานวิชาการ
บทความที่ผมเขียนครับ
   เมนูบทความ
   ภาษาซีสำหรับผู้เริ่มต้น
   ไมโครคอนโทรเลอร์เบื้องต้น
   ไมโครคอนโทรลเลอร์จำลอง
   การกำเนิดกระแสไฟฟ้าอย่างง่าย
   ควบคุมแรงดัน 0-220 โวลท์
   Graphics LCD ด้วย CCSC
   การออกแบบ PCB ด้วย Orcad
   การออกแบบ PCB ด้วย Protel
   ไพธอนส่งเมล์ด้วย GPRS
   ไพธอนควบคุม LCD ผ่าน LPT
   ควบคุม LPT ด้วย Labview
   อิมเมจโปรเซสซิ่ง ตอน 1/3
   อิมเมจโปรเซสซิ่ง ตอน 2/3
   อิมเมจโปรเซสซิ่ง ตอน 3/3
   ภาษาซีบนลินุกซ์สมองกลฝังตัว
   การใช้งาน MinGW เบื้องต้น
   ภาษาซี ARM-LPC2368
   ออกแบบ FPGA ด้วย Schematic
   ออกแบบ FPGA ด้วยภาษา VHDL
   ออกแบบ PCB เทคนิค Dryfilm
   เขียนโปรแกรม Python GUI
   การติดตั้ง NumPy 1.6.1
   เขียนไพธอนถอดรหัส MDB
   วิชวลเบสิค ควบคุมกล้อง
   สังเคราะห์ภาพกราฟิก pov-ray
   อิมพอร์ท MySQL ด้วย BigDump
   ติดตั้ง postgresql และ phppgadmin บน centos linux
   การใช้งานเธรดด้วยภาษา PHP
   การสังเคราะห์สีให้ไวยากรณ์ภาษา
   การสร้าง Search Engine
   เขียนไพธอน Client/Server
   การสร้างพาทิชั่นที่ใหญ่กว่า 3TB บนลินุกซ์ (Ubuntu)
   การรันสคริปต์ CGI ด้วยภาษาไพธอน
   การใช้งานคำสั่ง DD บน Ubuntu - Linux
   การใช้งาน Raspberry Pi
   การเอ็กซีคิวส์ + การจัดเรียงแอพฯในลินุกซ์
   X11 ด้วย Xming และ Putty
   TITAN5 บน Ubuntu - Linux
   รหัสจังหวัดทั่วโลก + เรดาร์
   การควบคุมเว็บบราวเซอร์ผ่าน SELENIUM ด้วยภาษาไพธอน
โปรแกรมภาษา
   เมนู VB-Classic
   ฟังก์ชั่น Visual Basic
   คำสั่ง Visual Basic
   ตัวแปรภาษาไพธอน (ขั้นสูง)
   โมดูลต่าง ๆ ภายในภาษาไพธอน
ข่าวสารไอที
   กูเกิ้ลเปิดตัว Tablet 7 นิ้ว
   อินเดีย IIT เปิดตัว Tablet
   RaspBerry PI สมองกลฝังตัว
   คอมพิวเตอร์จิ๋ว
บริการสารสนเทศ
   ไทยเว็บ 2012
   เว็บไทย
   ฐานข้อมูล วิทยานิพนธ์
   รวมคำศัพท์ภาษาไทย
   เคยฟังมั้ย - เพลงมาร์ช มมส
   ประวัติศาสตร์ชาติไทย หลวงปู่ฤาษีลิงดำ
   เพลงน้อมใจปล่อยวาง 1
   เพลงน้อมใจปล่อยวาง 2
   เพลงน้อมใจปล่อยวาง 3
เกี่ยวกับเรา
   เกี่ยวกับผู้ก่อตั้ง
   บทกลอนที่ผมแต่งครับ..
   แลกลิงค์กับเรา ที่นี่
   รายละเอียดแม่ข่าย
   ดาต้าเซนเตอร์ (Data Center)
   เงื่อนไขการใช้งาน

  
 

คำอธิบายโมดูลต่าง ๆ ภายในภาษาไพธอน
เขียนโดย อ.จักรกฤษณ์ แสงแก้ว สาขาสารสนเทศศาสตร์ คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม

บทนำ
• ภาษาไพธอนมีโมดูลจำนวนมากที่ถูกสร้างขึ้นเพื่อสนับสนุนให้ไพธอนสนับสนุนมาตรฐานต่าง ๆ ที่เกิดขึ้นในปัจจุบัน ทั้งด้านเน็ตเวอร์ค การประมวลผลข้อความ XML, HTML , FTP และอื่น ๆ อีกมากมาย ประกอบด้วยรายละเอียดดังต่อไปนี้

โมดูล rfc822
• ประกอบด้วยตัวแปลสำหรับเมล์และข่าวสารที่อยู่ในมาตรฐาน RFC 822 เช่น HTTP Header
• รูปแบบพื้่นฐานของ RFC 822 ประกอบด้วยส่วนของ Header Fields และตามด้วยบรรทัดว่าง และส่วนข้อมูลตามลำดับ
เช่น

ตัวอย่าง : รูปแบบของ RFC822
Message-ID: <2000300218374534.00abc211@nprotech.com>
Date: Tue, 12 Oct 2004 12:21:03 - 0500
To: "Chakrit Saengkaew" <nprotech@yahoo.com>
From: NproTech
Subject: Re: Python Book !!

where is it?










โมดูล mimetools
• Multipurpose Internet Mail Extensions (MIME) เป็นมาตรฐานที่กำหนดว่า การเก็บเท็กซ์ที่เป็น Non-ASCII , รูปภาพ และข้อมูลอื่น ๆ ภายใน RFC 822
• โมดูลนี้ประกอบด้วยเครื่องมือสำหรับเขียนโปรแกรมเพื่ออ่านและเขียน MIME
• ประกอบด้วย เวอร์ชั่นของ RFC822, Message Class ซึ่งเป็นการเข้่ารหัส MIME Messages

โมดูล MimeWriter
• สามารถเขียนข่าวสารแบบ "Multipart" กำหนดโดย MIME Mail Standard

โมดูล mailbox
• ประกอบด้วยคำสั่งสำหรับรูปแบบ mailbox ที่แตกต่างกัน (ส่วนมากยูนิกส์)
• รูปแบบของ mailbox เหล่านั้นเก็บในรูปแบบ RFC 822 ไว้ในไฟล์

โมดูล mailcap
• ประกอบด้วยคำสั่งสำหรับไฟล์ "mailcap" ซึ่งประกอบด้วยข่าวสารเกี่ยวกับรูปแบบเอกสารที่แตกต่างกัน

โมดูล mimetypes
• ประกอบด้วยส่วนสำหรับตัดสินใจว่า MIME Type ที่ใช้สำหรับ Uniform Resource Locator
• ทำงานบน Built-in table , apache และ Netscape Configuration file


โมดูล packmail
• ประกอบด้วยเครื่องมือสร้าง "Shell Archives"


โมดูล mimify
• สำหรับแปลง MIME encoded Text Messages จากรูปแบบการเข้ารหัสอีกแบบเป็นตัวอักษร


โมดูล multifile
• รักษาแต่ละส่วนของ Multipart MIME message เป็นไฟล์แยกเฉพาะออกไป

.
โมดูลด้าน : File Formats

โมดูล xmllib
• สำหรับจัดการ XML Parser ใช้ Regular Expression ในการดึงข้อมูลออกมาจากเอกสาร XML


โมดูล xml.parsers.expat
• อินเตอร์เฟสระหว่าง James Clark's Expat XML Parser ทำงานได้เร็วและเยี่ยม
• ข้อสังเกต ตัว parser จะคื่นค่าเป็น unicode string ถ้าท่านส่งมันเป็น ordinary text ค่าปกติจะถูกแปลงเป็น UTF-8 ท่านต้องแน่ใจว่า XML Files ประกอบด้วยการเข้ารหัสที่สอดคล้อง


โมดูล sgmllib
• ประกอบด้วย SGML parser ทำงานได้ดีคล้ายกับ xmllib parser


โมดูล htmllib
• ประกอบด้วย tag-driven HTML parser ซึ่งส่งข้อมูลไปยัง Formatting Object
• ท่านต้องศึกษาโมดูล formatter เพิ่มเติม


โมดูล htmlentitydefs
• ประกอบด้วย dictionary ซึ่งมี ISO Latin 1 character ทั้งหมดที่ใช้ภายใน html
• เช่น amp = &, quote = '', copy = @, yen = Y


โมดูล formatter
• ประกอบด้วยคลาส formatter ที่ใช้ร่วมกับ htmllib module
• มีสองคลาส คือ formatters และ writers
• formatters สำหรับแปลงสตรีมของแท็กและข้อมูลจาก HTML parser เป็น stream ที่เหมาะกับ output device
• writers สำหรับเรนเดอร์สตรีมลงบน output device
• ส่วนมากท่านสามารถใช้คลาส AbstractFormatter ในการทำ formatting
• มันจะเรียกเมธอนต่าง ๆ บนตัวอ็อบเจ็ค writer
• คลาส AbstractWriter สำหรับแสดงข้อความของแต่ละ method call


โมดูล ConfigParser
• อ่าน Configuration file ได้แก่ ไฟล์ *.ini ของระบบวินโดวส์


โมดูล netrc
• แปลง .netrc configuration files เช่นไฟล์ที่ใช้ในการเก็บ FTP username และ passwords ภายในไดเร็คทอรี่ของยู้ใช้ (อย่าลืมว่าการตั้ง configure เพื่อว่าไฟล์ดังกาวสามารถอ่านได้โดยผู้ใช้ "chmod 0600~/.netrc"


โมดูล shlex
• ประกอบด้วย simple lexer (รู้จักกันในนาม Tokenizer) สำหรับภาษาต่าง ๆ ที่อยู่บนพื้นฐานของ Unix Shell Syntax


โมดูล zipfile
• อนุญาตให้อ่านและเขียนไฟล์ .zip (การบีบอัดไฟล์)


โมดูล gzip
• สำหรับให้อ่านและเขียนไฟล์บีบอัดในมาตรฐาน gzip
.
โมดูลด้าน : Internationalization

โมดูล local
• โมดูลในกลุ่มนี้อินเตอร์เฟสกับภาษาซี และแปลงจำนวน และสตริงไปยัง local numeric โดยไม่ส่งผลกระทบอย่างอื่น


โมดูล unicodedata
• ประกอบด้วยคุณสมบัติของอักขระ Unicode เช่น categories, decomposition data และ numerical values


โมดูล ucnhash
• แม็พ character code กับ Unicode string literals
• เช่นใช้ \N{} เพื่อแม็พกับ unicode character names กับโค๊ด
.
โมดูลด้าน : Multimedia

โมดูล imghdr
• เพื่อบอกถึงฟอร์แมตของไฟล์รูปภาพแบบต่าง ๆ


โมดูล sndhdr
• เพื่ออธิบายชนิดของไฟล์เสียง


โมดูล whatsound
• เหมือนกับโมดูล sndhdr


โมดูล aifc
• อ่านและเขียนไฟล์ AIFF และ AIFC ของเครื่องแม็คอินท็อช


โมดูล sunau
• อ่านและเขียนไฟล์ AU ของเครื่อง Sun


โมดูล sunaudio
• สำหรับบอกรายละเอียดเกี่ยวกับไฟล์ AU ของเครื่อง SUN


โมดูล wave
• สำหรับอ่านและเขียนไฟล์ .WAV ของไมโครซอฟต์


โมดูล audiodev
• ใช้กับยูนิกส์เท่านั้น เพื่อเล่นเพลงที่สนับสนุน SUN และ SGI


โมดูล winsound
• ใช้กับวินโดวส์เท่านั้น เพื่อเล่นเพลงของ MS Windows machine


โมดูล colorsys
• สำหรับแปลงสีระหว่าง RGB, YIQ(video) , HLS และ HSV
.
โมดูลด้าน : Data Storage

โมดูล anydbm
• อินเตอร์เฟสระหว่าง Simple Database Driver


โมดูล whichdb
• อินเตอร์เฟสกับ which database handler ที่ใช้สำหรับ database file

โมดูล shelve
• สำหรับ database handlers เพื่อใช้สำหรับ persistent dictionaryes.
• ใช้คีย์เป็นสตริง แต่ค่าสามารถแปลงไปในรูปแบบใด ๆ ก็ได้ โดยใช้ร่วมกับโมดูล pickle


โมดูล dbhash
• สนับสนุน dbm อินเตอร์เฟสกับ bsddb database handler


โมดูล dbm
• อินเตอร์เฟสกับ dbm database handlers (ใช้กับยูนิกส์เท่านั้น)


โมดูล dumbdbm
• สำหรับ simple database implementation คล้ายกับ dbm แต่เขียนใน python แท้ ๆ
• ใช้สองไฟล์คือ binaryfile (.dat) และข้อมูล (.dir)


โมดูล gdbm
• ประกอบด้วยการอินเตอร์เฟสกับ GNU dbm database handler

.
โมดูลด้าน : Tools และ Utilities

โมดูล dis
• สำหรับ Python Disassembler


โมดูล bdb
• สำหรับการทำ Debugger ท่านสามารถใช้มันสร้าง debuggers ส่วนตัวของท่านได้
• คลาส Bdb จะ overide method ชื่อ user ซึ่งถูกเรียกเมื่อมีการหยุด debugger ถ้าต้องการควบคุม debugger สามารถใช้เมธอด set ได้


โมดูล profile
• คล้ายการทำ disassembler และ debugger โดยสามารถรันได้จาก command line


โมดูล pstats
• สำหรับวิเคราะห์ข้อมูลที่รวบรวมโดย python profiler


โมดูล tabnanny
• ตรวจสอบซอร์สไฟล์ไพธอน ถ้าไฟล์รวมกับแท็บและสเปส ตรวจขนาดของขนาดแท็บและสเปสบาร์

.

โมดูลด้าน : Platform Specific

โมดูล fcntl
• ใช้กับ Unix เท่านั้น สำหรับติดต่อกับ ioctl() และ fcntl() บนยูนิกส์
• สำหรับโอเปอร์เรชั่นของไฟล์แฮนเดอร์และ I/O Device handles
• อ่านแอตทริบิวส์พิเศษ
• ควบคุมการบล็อก
• แก้ไขเทอร์มินอล


โมดูล pwd
• (ยูนิกส์เท่านั้น) อินเตอร์เฟสกับ Unix password database (/etc/passwd)


โมดูล grp
• (ยูนิกส์เท่านั้น) อินเตอร์เฟสกับ Unix Group database (/etc/group)


โมดูล nis
• (ยูนิกส์เท่านั้น) อินเตอร์เฟส NIS(yellow pages) service อ่านค่าจาก Central NIS database


โมดูล curses
• (ยูนิกส์เท่านั้น) ควบคุม Text Terminal Window


โมดูล termios
• (ยูนิกส์เท่านั้น) อินเตอร์เฟสกับ Unix Terminal Control มันสามารถใช้ควบคุมอุปกรณ์พอร์ทการสื่อสารต่าง ๆ ได้


โมดูล tty
• (ยูนิกส์เท่านั้น) จัดการกับ tty devices


โมดูล resource
• (ยูนิกส์เท่านั้น) ใช้ Query หรือ Modify the System resource limits


โมดูล syslog
• (ยูนิกส์เท่านั้น) ส่งข่าวสารไปยัง system logger facility (syslogd) ว่ามีอะไรเกิดขึ้นปกติอยู่ที่ /var/log/messages, /var/adm/syslog


โมดูล msvcrt
• (วินโดวส์เท่านั้น) เข้าถึงฟังก์ชั่นของ Visual C/C++ รันไทม์ของ (MSVCRT)


โมดูล nt
• (วินโดวส์เท่านั้น) ใช้โดยโมดูล os บนระบบปฏิบัติการวินโดวส์ เป็นการยากที่จะใช้โมดูลนี้โดยตรง ควรใช้โมดูล os แทน


โมดูล _winreg
• อินเตอร์เฟสกับ Windows Registry Database


โมดูล posix
• สำหรับ Unix/POSIX เท่านั้น ใช้โดยโมดูล os ของ UNIx และ POSIX โดยส่วนใหญ่เข้าถึงโดยโมดูล os โมดูลนี้จะมีประโยชน์ต่อผู้ที่มีความเชี่ยวชาญ POSIX

.

โมดูลด้าน : Implementation Support

โมดูล dospath
• ใช้กับ os.path สำหรับดอส ใช้เมื่อต้องการควบคุม DOS Path บนระบบปฏิับัติการอื่น


โมดูล macpath
• ใช้กับ os.path ของ macintosh เพื่อควบคุมมันบนระบบปฏิบัติการอื่น


โมดูล ntpath
• ใช้กับ os.path ของ NT เพื่อควบคุมมันบนระบบปฏิบัติการอื่น


โมดูล posixpath
• ใช้กับ os.path ของ POSIX เพื่อควบคุมมันบนระบบปฏิบัติการอื่น


โมดูล strop
• เป็น low-level ที่จัดเตรียมโดย C โมดูลนี้จะถูกโหลดอัตโนมัติเมื่อมีการโหลดโมดูล string


โมดูล imp
• ประกอบด้วยฟังก์ชั่นต่าง ๆ สำหรับใช้อิมพลิเมนต์การ import


โมดูล new
• เป็น low-level ที่อนุญาตให้ท่านสร้าง internal object เช่น class objects, function objects และ python runtime system


โมดูล pre
• เป็น low-level ที่ใช้สำหรับโมดูล re ท่านไม่ต้องใช้มันโดยตรง


โมดูล sre
• เป็น low-level สำหรับโมดูล re ท่านไม่ต้องใช้มันโดยตรง


โมดูล py_compile
• อนุญาตให้ท่านคอมไพล์โค๊ดไพธอนเป็นไบต์โค๊ด


โมดูล compileall
• ประกอบด้วยฟังก์ชั่นสำหรับการคอมไพล์ไพธอนสคริปต์ทั้งหมดในไดเร็คทอรี่


โมดูล ihooks
• เฟรมเวอร์คสำหรับการ import อนุญาตให้ใช้เทคนิคการอิมพอร์ตได้หลายวิธี


โมดูล linecache
• ใช้สำหรับการอ่านบรรทัดจากซอร์สโค๊ด มันจะใช้ visited modules ที่เป็นปัจจุบันที่สุด


โมดูล macurl2path
• ประกอบด้วยโค๊ดสำหรับการ map URL เป็น Machintosh filename
• ท่านสามารถใช้โมดูล urllib แทนได้


โมดูล nturl2path
• แม็ฟ URL กับ Windows Filename


โมดูล tokenize
• แยกซอร์สโค๊ดของไพธอนเป็น Tokens


โมดูล keyword
• ประกอบด้วย list ของคีย์เวอร์ดที่ใช้ในเวอร์ชั่นปัจจุบันของ python
• มันเป็น dictionary ที่เก็บ keyword ใช้ตรวจสอบว่ามี keyword ใดบ้างในไพธอน


โมดูล parser
• อินเตอร์เฟสกับ Python's built-in parser และ compiler


โมดูล symbol
• ประกอบด้วยรายการของ non-terminal symbols จาก python grammar มันเปนประโยชน์สำหรับโมดูล parser


โมดูล token
• ประกอบด้วยลีสต์ทั้งหมดของ token ที่ใช้โดย standard python tokenizer

.

โมดูลด้าน : Standard Module
โมดูลต่าง ๆ ที่ใช้ในไพธอน บางทีเราเขียนไพธอนแต่ก็ไม่ได้ใช้โมดูลเหล่านี้ แต่ท่านสามารถช่วยเวลาของท่านได้มาก หากรู้จักมันครับ

โมดูล fileinput
• อนุญาตให้ท่านทำการวนลูปเข้าไปในเนื้อหาของเท็กซ์ไฟล์ได้มากกว่าหนึ่งไฟล์

ตัวอย่าง : การใช้โมดูล fileinput
>>> import fileinput,sys
>>> for line in fileinput.input("c:\\temp\\test.txt"):
            sys.stdout.write(">> ")
            sys.stdout.write(line)







ผลลัพธ์จะเขียนคำว่า >> ลงไปหน้าข้อความของทุก ๆ บรรทัดในไฟล์ test.txt


โมดูล shutil
• สำหรับคัดลอกไฟล์และไดเร็คทอรี่ ฟังก์ชั่น copy() ทำงานเหมือนคำสั่ง cp ในยูนิกส์

ตัวอย่าง : การใช้โมดูล shutil
import shutil,os
for i in os.listdir('.'):
      if os.path.splitext(i)[1] == '.py':
            print i
            shutil.copy(i,os.path.join("backup",i))







ฟังก์ชั่น copytree เหมือน cp-r (คัดลอกทั้งไดเร็คทอรี่)
ฟังก์ชั่น rmtree เหมือน rm -r (ลบทั้งไดเร็คทอรี่)


โมดูล tempfile
• เขียน temporyry files

ตัวอย่าง : การใช้โมดูล tempfile
import tempfile , os
m = tempfile.TemporaryFile()
m.write("x"*100)
m.seek(0)
print m.read()
m.close() # remove the file !!









โมดูล StringIO
• อิมพลิเมนต์ไฟล์อ็อบเจ็คไว้ในหน่วยความจำหลัก สามารถนำไปทำเป็น input/output กับไฟล์มาตรฐานได้

ตัวอย่าง : การใช้โมดูล StringIO
import StringIO
f = StringIO.StringIO("HELLO WORLD")
f.seek(0)
print f.read()
'HELLO WORLD'
f.write(" KMUTT")
f.seek(0)
print f.read()
'HELLO WORLD KMUTT'













โมดูล cStringIO
• อิมพลิเมนต์ให้เร็วกว่า StringIO ทำงานได้เหมือน StringIO แต่ไม่สามารถเป็น subclass ได้
ตัวอย่าง : การใช้โมดูล StringIO
import StringIO
f = cStringIO.StringIO("HELLO WORLD")
f.seek(0)
print f.read()
'HELLO WORLD'
f.write(" KMUTT")
f.seek(0)
print f.read()
'HELLO WORLD KMUTT'













โมดูล mmap
• อินเตอร์เฟสกับหน่วยความจำของระบบปฏิบัติการ ซึ่งแม็พให้เหมือนสตริงอ็อบเจ็ค แต่ข้อมูลสามารถอ่านได้โดยตรง ทำให้สามารถใช้ re (regular expression) ร่วมได้เลย!!

ตัวอย่าง : การใช้โมดูล mmap
import mmap,os
filename = "c:\\temp\\rows.txt"
f = open(filename,"r+")
size = os.path.getsize(filename)
m = mmap.mmap(f.fileno(),size)
print len(m)
print repr(m.read(10))
'ADMBED\t887'
print repr(m.read(10))
'9\r\nADMMAST'














โมดูล UserDict
• ประกอบด้วยคลาส dictionary (ชนิดข้อมูลแบบดิกชันนารี)


โมดูล UserList
• ประกอบด้วยคลาส list ทำงานกับตัวแปรชนิดลีสต์


โมดูล UserString
• ประกอบด้วยสองคลาส UserString และ MutableString
• UserString หุ้ม Standard String type
• MutableString อนุญาตให้แก้ไขสตริงได้


โมดูล traceback
• อนุญาตให้แสดง exception tracebacs ภายในโปรแกรม เหมือนที่อินเตอร์พรีเตอร์ทำเมื่อท่านไม่ตรวจ exception ของท่านเอง


โมดูล errno
• กำหนด symbolic error codes เช่น ENOENT ("no such directory entry"), EPERM ("permission denied") และอื่น ๆ
• มันสามารถแม็พจาก platform ได้ด้วย ส่วนมากแล้ว IOError จะใช้ 2 tuple ด้วย numerical error code


โมดูล getopt
• ประกอบด้วยคำสั่งพิเศษ และอาร์กิวเมนต์ต่าง ๆ ที่สามารถ handle ได้ทั้ง short และ long option formats
• อาร์กิวเมนต์ที่สองกำหนด short options ที่ยอมให้เกิดขึ้น ซึ่ง (:) ตามด้วยชื่อ option


โมดูล getpass
• จัดเตีรยม platform independent ในการป้อนรหัสผ่านใน command-line
• user = getpass.getuser()
• pwd = getpass.getpass(">> ")
// การรับรหัสผ่านอาจเกิดการ Error รหัสผ่านออกมานี่คือข้อผิดพลาดที่เกิดขึ้นของโมดูลนี้


โมดูล glob
• สร้างลีสต์ของไฟล์ที่สอดคล้องกับรูปแบบที่กำหนดไว้
• filename = glob.glob("c:\\winnt\\*.dll")


โมดูล fnmatch
• อนุญาตให้จับคู่ไฟล์ที่สอดคล้องกัน
• เหมือนการใช้ใน Unix เ่ชน (*) หรือ (?)


โมดูล random
• สุ่มเลขใช้อัลกอริทึมโดย Wichmann & Hill, 1982

ตัวอย่าง : การใช้โมดูล random
import random
print random.random()
print random.uniform(10,20)
print random.randint(100,1000)
print random.randrange(10,100,2)









โมดูล whrandom
• สุ่มด้วยอัลกอริทึมของ Wichmann & Hill , 1982 (ไม่แชร์ internal state) มันจะดีกว่านี้ถ้าท่านใช้้โมดูล random แทน


โมดูล md5
• ใช้ในการคำนวณ message signatures (เรียกว่า "message digests")
• อัลกอริทึม MD5 คำนวณ signature ขนาด 128 บิต
//พึงระวัง อย่าลืมว่า pseudo random number generator ไม่ใช่วิธีการเข้ารหัสที่ดีพอ //

โมดูล sha
• ทางเลือกในการคำนวณ message signatures มันคล้ายกับโมดูล md5 แต่สร้าง signature ขนาด 160 บิตแทน


โมดูล crypt
• (ยูนิกส์เท่านั้น) เป็นการเข้ารหัสทางเดียว DES Encription ในระบบยูนิกส์ใช้การเข้ารหัสด้วยอัลกอริทึมแบบนี้ เพื่อเก็บรหัสผ่าน และโมดูลนี้เป็นประโยชน์ในการสังเคราะห์ หรือตรวจสอบรหัสผ่าน


โมดูล rotor
• อัลกอริทึมการเข้ารหัสแบบง่าย ๆ บน WWII Enigma engine


โมดูล zlib
• สนับสนุนการบีบอัดและคลายการบีบอัดแบบ "zlib" (รู้จักกันดีในชื่อเีรียกว่า "deflate")


โมดูล code
• จำนวนของฟังก์ชั่นต่าง ๆ ที่สามารถใช้ในการจำลองพฤติกรรมของ standa5rd interpreter's interactive mode
• คำสั่ง compile_command คล้ายกับฟังก์ชั่น compile แต่ได้มีการเพิ่มและตรวจสอบให้มันทำงานด้วย python statement อย่างสมบูรณ์

.

โมดูลด้าน : Core Module

โมดูล __builtin__
• ฟังก์ชั่นที่เป็น built-in function ซึ่งโหลดอัตโนมมัติเมื่อไพธอนถูกเรียกใช้งาน


โมดูล os
• จัดเตรียมอินเตอร์เฟสกับฟังก์ชั่นต่าง ๆ และระบบปฏิบัติการ


โมดูล stat
• ประกอบด้วยฟังก์ชั่นและค่าคงที่ซึ่งสามารถใช้ได้กับ os.stat


โมดูล string
• ประกอบด้วยฟังก์ชั่นต่าง ๆ ในการประมวลผลไพธอนสตริง


โมดูล re
• ประกอบด้วยฟังก์ชั่นที่เป็นประโยชน์เกี่ยวกับ Regular Expression เพื่อจับคู่ข้อความที่สอดคล้องกับรูปแบบที่กำหนดไว้


โมดูล math
• ฟังก์ชั่นการคำนวณด้านคณิตศาสตร์


โมดูล cmath
• ฟังก์ชั่นการคำนวณด้านคณิตศาสตร์ ใช้กับเรื่องจำนวนจินตภาพ (Complex Number)


โมดูล operator
• อินเตอร์เฟสกับโอเปอร์เรเตอร์มาตรฐานของไพธอน สามารถใช้แทน lambda เมื่อประมวลผลข้อมูลด้วยฟังก์ชั่น map และ filter


โมดูล copy
• ประกอบด้วยสองฟังก์ชั่นคือ copy(object) และ deepcopy(object)


โมดูล sys
• ฟังก์ชั่นและตัวแปรต่าง ๆ ที่สามารถใช้ในระบบปฏิบัติการที่แตกต่างกันออกไป
• print sys.argv


โมดูล atexit
• อนุญาตให้ลงทะเบียนฟังก์ชั่นตาง ๆ ที่ถูกเรียกใช้งานเมื่ออินเตอร์พรีเตอร์ได้หยุดการทำงานไปแล้ว


โมดูล time
• ประกอบด้วยฟังก์ชั่นทำงานกับวันที่และเวลา จัดอยู่ใน thin layer ของ C runtime library
• แทนค่าด้วย floating point value (ตั้งแต่วันที่ 1 January, 1970)


โมดูล types
• ประกอบด้วย type ต่าง ๆ ใน standard interpreter ภาษาไพธอน
• ตรวจสอบว่าเป็นอ็อบเจ็คเดียวกันหรือไม่ด้วยคำสั่ง is


โมดูล gc
• เป็น built-in cyclic garbage collector สำหรับจัดการหน่วยความจำหลักที่ไม่ต่อเนื่องเพื่อให้เกิดประสิทธิภาพการทำงาน

.
โมดูลด้าน : Threading

โมดูล threading
• เป็น Higher-level interface สำหรับการเขียนเธรด


โมดูล queue
• ใช้สำหรับ thread-safe queue implementation


โมดูล thread
• เป็น low-level interface สำหรับการเขียนเธรด ท่านควรใช้ โมดูล threading แทน


โมดูล commands
• (ยูนิกส์เท่านั้น) ออกแบบให้เอ็กซีคิวส์คำสั่ง unix
ตัวอย่าง : การใช้โมดูล commands
import commands
stat , output = commands.getstatusoutput("ls -al")
print stat, len(output)








โมดูล pipes
• (ยูนิกส์เท่านั้น) ประกอดบด้วยฟังก์ชั่นในการสร้าง "conversion pipelines"
• ใช้สร้าง pipeline ประกอบด้วย external utilities และใช้กับไฟล์


โมดูล popen2
• อนุญาตให้รัน external command และใช้ stdin/stdout ได้


โมดูล signal
• ใช้ในการติดตั้ง signal handlers ของท่านเอง
• เมื่ออินเตอร์พรีเตอร์เห็น signal, signal handler ซึ่งถูกเอ็กซีคิวส์ที่ผ่านมา !!

.
โมดูลด้าน : Data Representation

โมดูล array
• โมดูลนี้มีประสิทธิภาพในการเก็บข้อมูลแบบอาร์เรย์ และคล้ายกับตัวแปรลีสต์ แต่ทุก ๆ ไอเท็มต้องเป็นชนิดข้อมูลเดียวกันเท่านั้น ซึ่งชนิดข้อมูลจะต้องถูกกำหนดเมื่อมีการสร้างอาร์เรย์


โมดูล struct
• โมดูล struct ประกอบด้วยฟังก์ชั่นต่าง ๆ สำหรับแปลงระหว่างสตริงแบบไบนารีและชนิด tuple


โมดูล xdrlib
• โมดูล xdrlib สำหรับแปลงข้อมูลระหว่างตัวแปรในไพธอนและบริษัท XDR (บริษัท Sun)
• รูปแบบ XDR ใช้สำหรับ Remote Procedure Call ของบริษัท Sun


โมดูล marshal
• โมดูล marshal ใช้สำหรับแปลงข้อมูลระหว่าง character strings เพื่อให้สามารถเก็บลงบนไฟล์หรือส่งไปยังเน็ตเวอร์คได้


โมดูล pickle
• โมดูล pickle ทำงานเหมือน marshal แต่ไม่สามารถเก็บอ็อบเจ็คชนิด code ได้เหมือน marshal แต่สามารถเก็บข้อมูลที่เป็นชนิดคลาสและอินสแตนท์ได้ การประมวลผลจึงช้ากว่า โมดูล marshal ถ้าต้องการให้เก็บข้อมูลชนิด code object ต้องใช้โมดูล copy_reg ร่วมด้วย


โมดูล cPickle
• โมดูล cPickle เป็นการปรับปรุงโมดูล pickle ให้เร็วขึ้น ซึ่งโมดูล cPickle เขียนขึ้นด้วยภาษาซี


โมดูล copy_reg
• การลงทะเบียนที่ท่านสามารถใช้ register ประเภทไฟล์ของท่านเอง


โมดูล pprint
• โมดูล pprint สำหรับการพิมพ์ผ่านเครื่องพิมพ์ เป็นประโยชน์ถ้าท่านต้องพรินต์ข้อมูลที่เป็นโครงสร้างข้อมูลลงไปยังคอนโซล


โมดูล repr
• เหมือน built-in repr function แต่ใช้สำหรับสตริงที่เป็น recursion
• ใช้สำหรับแสดงเครื่องหมาย string ให้กับสตริงที่เป็นแบบ recusive (เกิดซ้ำ)


โมดูล base64
• โมดูล base64 ใช้สำหรับแปลงข้อมูลไบนารีสตริงให้เป็นเท็กซ์ธรรมดา มีสองฟังก์ชั่นสำคัญ encode() และ decode()


โมดูล binhex
• โมดูล binhex สำหรับแปลงข้อมูลไบนารีสตริงเป็น Macintosh binhex


โมดูล quopri
• โมดูล quopri สำหรับเข้ารหัส ขึ้นอยู่กับมาตรฐานของ MIME ซึ่งใช้เข้ารหัสและสามารถนำไปใช้ได้ ถ้าท่านต้องการเปีล่ยนข้อความซึ่งประกอบด้วย US ASCII Text เช่น ข้อความที่เขียนขึ้นจากภาษายุโรปไปเป็นข้อความที่ใช้เพียง US ASCII โมดูลนี้มีประโยชน์ถ้าท่านส่งผ่าน steam-powered mail transports ไปให้ผู้ที่ใช้ vintage mail agents


โมดูล uu
• โมดูล uu ใช้เข้ารหัสและแปลงเป็นข้อมูลไบนารีไปเป็นเท็กซ์ธรรมดา นิยมนำไปใช้ใน usenet แต่ว่าจะช้าเพราะมีแม่เป็น base64 encoding

การเข้ารหัส UU ใช้ 24 บิต และแปลงแต่ละกลุ่มเป็นลำดับทีละ 4 ตัวอักษร(6 บิตต่อตัวอักษร) การใช้อักขระจาก chr(32) ซึ่งเป็นสเปสบาร์ ไปเป็น chr(95) รวมถึงความยาวและอักขระขึ้นบรรทัดใหม่ ซึ่งการเข้ารหัสแบบ UU ปกติแล้วขยายข้อมูลขึ้นไปได้ 40%


โมดูล binascii
• โมดูล binascii สำหรับเข้ารหัส รวมถึง base64, binhex และ uu ซึ่งเวอร์ชั่นใหม่นี้อนุญาตให้ท่านแปลงข้อมูลไบนารีจากรูปแบบ hexadecimal strings ได้

.
โมดูลด้าน : Networking

โมดูล socket
• โมดูล socket ใช้เชื่อมต่อกับซ็อกเก็ตเลเยอร์ ท่านสามารถสร้างการเชื่อมต่อได้ทั้งแบบแม่ข่าย หรือลูกข่ายด้วยโมดูลนี้


โมดูล select
• โมดูล select อนุญาตให้ท่านตรวจสอบข้อมูลที่ส่งเข้ามายังซ็อกเก็ตได้มากกว่าหนึ่งซ็อกเก็ต และสนับสนุนการเชื่อมเข้ามาแบบสตรีมอ็อบเจ็ค

สามารถใช้ฟังก์ชั่น select ในการคอยจะกว่าจะสามารถอ่านหรือเขียนหรือว่าเกิดข้อผิดพลาด
- socket จะเปลี่ยนเป็นพร้อมในการอ่าน
       ค่าเป็น 1 เช่น เมื่อบางคนเชื่อมเข้ามาหลังจากเรียกคำสั่ง listen
       ค่าเป็น 2 รับแต่ไม่บล็อก
       ค่าเป็น 3 เมื่อปิดซ็อกเก็ตหรือรีเซ็ต
- ซ็อกเก็ตเปลี่ยนเป็นพร้อมสำหรับการเขียน
       ค่าเป็น 1 การเชื่อมต่อถูกสร้างหลังจากไม่มีการบล็อกที่เีรียก connect
       ค่าเป็น 2 ข้อมูลสามารถเขียนลงบนซ็อกเก็ต
- ซ็อกเก็ตมีค่าความผิดพลาดเมื่อมีการเรียก connect


โมดูล asyncore
• โมดูล asyncore สำหรับโต้ตอบกับซ็อกเก็ต แทนที่จะสร้างอ็อบเจ็คซ็อกเก็ต และเีรียกเมธอดเพื่อทำงาน แต่โมดูลนี้จะอนุญาตให้ท่านเขียนโค๊ดที่ถูกเรียกเมื่อบางเกตุการณ์ได้เสร็จสิ้นลงไป ในการอิมพลิเมนต์ท่านต้องใช้ dispatcher class และถ่ายทอดเมธอดต่อไปนี้ :
- handle_connect ถูกเรียกเมื่อการเชื่อมต่อสมบูรณ์
- handle_expt ถูกเรียกเมื่อการเชื่อมต่อล้มเหลว
- handle_accept ถูกเรียกเมื่อการร้องขอถูกตอบรับ
- handle_read ถูกเรียกเมื่อมีการอ่านจากซ็อกเก็ต
- handle_write ถูกเรียกเมื่อเขียนข้อมูลลงซ็อกเก็ต
- handle_close ถูกเีรียกเมื่อปิดหรือรีเซ็ตซ็อกเก็ต
- handle_error ถูกเรียกเมื่อมีความผิดพลาด


โมดูล asynchat
• ขยายมาจากโมดูล asyncore โดยสนับสนุน line oriented protocols
• ปรับปรุง buffering support ผ่านเมธอด push


โมดูล urllib
• โมดูล urllib ใช้อินเตอร์เฟสสำหรับ http, ftp และ gopher มันจะควบคุม URL โดยการอ่านข้อมูลจาก URL ด้วยวิธีการที่ง่าย โดยเรียกฟังก์ชั่น urlopen()


โมดูล urlparse
• ประมวลผล URL(Uniform Resouce Locators) เพื่อแปลงให้อยู่ในรูปแบบไฟล์ของแต่ละเพลตฟอร์ม


โมดูล Cookie
• สนับสนุน cookie ที่ใช้กับ HTP clients และ Servers


โมดูล ftplib
• จัดการเกี่ยวกับการ ftp เข้าไปยังแม่ข่ายที่ให้บริการ


โมดูล gopherlib
• จัดการเกี่ยวกับการใช้งาน gopher กับแม่ข่ายที่ให้บริการ


โมดูล httplib
• จัดการเกี่ยวกับการใช้งาน Low-Level HTTP กับแม่ข่ายที่ให้บริการ

โมดูล poplib
• สนับสนุน Post Office Protocol(POP3)
• ใช้สำหรับคัดลอกข้อความข่าวสารจาก Central Mail Server มายัง Local Computer


โมดูล imaplib
• สนับสนุน Internet Message Access Protocol (IMAP) สำหรับบริการลูกข่าย
• โปรโตคอลนี้เข้าถึงเมล์โฟล์เดอร์ บน Central mail Server


โมดูล smtplib
• สนับสนุน Simple Mail Transfer protocol (SMTP) สำหรับบริการลูกข่าย
• โปรโตคอลนี้ใช้ส่งเมล์ผ่าน Unix Mailservers


โมดูล telnetlib
• สนับสนุน TELNET สำหรับลูกข่าย


โมดูล nntplib
• สนับสนุน Network New Transfer Protocol(NNTP) สำหรับบริการลูกข่าย


โมดูล SocketServer
• สนับสนุนเฟรมเวอร์คของ socket-based servers หลาย ๆ ชนิด
• ประกอบด้วยคลาสสนับสนุน ที่สามารถรวมและจับคู่กับแม่ข่าย สำหรับจุดประสงค์การบริการที่แตกต่างกัน


โมดูล BaseHTTPServer
• สนับสนุนเฟรมเวอร์คสำหรับ HTTP Server สร้างบน SocketServer framework


โมดูล SimpleHTTPServer
• สนับสนุน Simple HTTP server ซึ่งใช้มาตรฐาน GET และ HEAD สำหรับจัดการ request handlers
• ชื่อไฟล์ของ client จะถูกแปลเป็นชื่อไฟล์ที่สอดคล้องกัน


โมดูล CGIHTTPServer
• สนับสนุน Simple HTTP Server ที่สามารถเรียก external scripts ผ่าน CGI


โมดูล cgi
• สนับสนุน Common Gateway Interface (CGI) มันสามารถอ่านค่าจากฟอร์มได้


โมดูล webbrowser
• สนับสนุนการอินเตอร์เฟสง่าย ๆ สำหรับเว็บบราวเซอร์ของระบบปฏิบัติการนั้น ๆ
• webbrowser.open("http://localhost")






All trademarks and trade names are the property of their respective owners and used here for identification purposes only.
Privacy Policy | Terms of service | Report a Policy Violation (0.0065 sec)