ลักษณะอย่างหนึ่งใน python คือ battery included ที่มีไลบรารีมาให้ใช้เยอะมาก แต่ด้วยความที่เราไม่เคยพออยู่แล้ว ผมเลยชวนชาวเรามาแนะนำกันดีกว่าครับ ว่าเรามีไลบรารีอะไรที่น่าสนใจกันบ้าง ที่เพื่อนๆ เราอาจจะเอาไปใช้อย่างอื่นกันได้ด้วย
ผมเริ่มก่อนกับ Jinja2 ที่เป็น Template Engine ที่มีแนวคิดง่ายมาก คือเลียนแบบการทำงานระบบ Template ของ Django มาเลยตรงๆ (ต่างกันในรายละเอียด) แต่สามารถใช้งานแยกได้อย่างอิสระ ทุกวันนี้ผมใช้มันสร้างสคริปต์ TCL เพื่อเอาไปทำงานวิจัยอยู่
on
ตัวที่ใช้
willwill Fri, 08/08/2008 - 18:32
ตัวที่ใช้่บ่อยๆ ครับ (ทั้งหมด easy_install ได้ครับ) Web.py ตัวนี้เป็น Web framework ที่ค่อนข้างไม่เกะกะครับ (คือเขียนตามแบบที่เราเขียน ไม่ใช่เขียนตามที่เค้ากำหนดไว้อย่างพวก Django, TG ครับ) แต่ส่วนอื่นๆนอกจาก Web framework (เช่น Templator) ยังไม่ค่อยดีครับ tenjin ตัวนี้เป็น template engine ที่ค่อนข้างจะำไม่เกะกะอีกครับ คือใช้ Python syntax เอาได้เลย ประมาณ PHP นั่นแหละครับ
<?py for i in arr: ?> ${i} <?py # ?>(ใส่ # เพื่อบอกเขตหยุด indent ครับ) SQLObject เป็น ORM ครับ ไว้เรียก DB ง่ายๆ ถ้าใช้ advance ผมจะไปเรียก connection มันแล้ว queryOne ตรงๆครับส่วนตัวผม
KnightBaron Fri, 08/08/2008 - 19:42
ส่วนตัวผมชอบ Mechanize ครับ เอาไว้เขียน script automate เล็กๆ น้อยๆ หลายอย่าง มันจัดการเรื่อง redirect กับ cookie อะไรต่างๆ ให้หมด สะดวกดี
Yume Nikki
ที่ผมใช้ก
khao_lek Fri, 08/08/2008 - 19:57
ที่ผมใช้ก็มี
XLRD ไว้สำหรับอ่านข้อมูลใน ms excel
pyExcelerator ไว้สำหรับสร้างไฟล์ ms excel
pyodbc ไว้สำหรับติดต่อกับ odbc
pymssql ไว้สำหรับติดต่อกับ MS SQL
mechanize ไว้สำหรับไต่ไปตามเว็บเืพื่อเก็บข้อมูลคับ
pyftpdlib ไว้สำหรับทำ ftp server คับ
cx_Oracle ไว้สำหรับติดต่อกับ oracle คับ
นอกนั้นก็ใช้พวกพื้นฐานครับ เช่น wxPython,win32,pymysql ฯลฯ แต่ไม่ค่อยได้ใช้ฝั่งของเว็บซักเท่าไหร่เพราะทำเว็บก็ใช้ PHP เหมือนเดิม
numpy ใช้ python
bow_der_kleine Fri, 08/08/2008 - 23:06
numpy ใช้ python คำนวนแบบ numeric scipy ไลบรารี่ ทางคณิตศาสตร์ต่าง ๆ matplotlib ไลบรารี่สำหรับพลอทกราฟ pyro Remote Object สำหรับ distributed computing ipython Python Interpreter แบบเพิ่มความสามารถ PIL Image Processing สำหรับ Python
etc...
แต่โดยปกติแล้ว built in module ก็ครอบคลุมการใช้งานของผมเกือบครบเหมือนกัน เคยเปิดเอกสารดู โอ... มันเยอะจริง ๆ บางโมดูลจนถึงตอนนี้ผมยังไม่เคยใช้เลย แต่สิ่งที่ผมชอบมากกว่าไลบรารี่ปริมาณมาก ๆ คือ ไลบรารี่ส่วนมากใช้งานง่ายมาก
BioLawCom.De
โมดูลที่ผ
lew Sat, 09/08/2008 - 00:50
In reply to numpy ใช้ python by bow_der_kleine
โมดูลที่ผมพยายามใช้แล้วพบว่ามันแย่มากคือ datetime ครับ พยายามหาทางบอกว่าวันที่ระบุอยู่ในหนึ่งเดือนก่อนหน้านี้หรือไม่นี่อ่านแล้วงงแล้วงงอีก
LewCPE
เข้าใจเลย
0xffeeddaa Sat, 09/08/2008 - 02:50
In reply to โมดูลที่ผ by lew
เข้าใจเลย
เคยเจอเหมือนกัน =='
ป.ล. แต่ส่วนตัวผมก็คิดว่าโมดูลต่างๆมันเข้าใจง่าย กว่าหลายๆภาษานะครับ
psyco
ABZee Sat, 09/08/2008 - 04:02
psyco เวลาต้องการคำตอบไวๆแต่ไม่อยากเขียนใหม่
PoomK
อธิบายเกี
khao_lek Sun, 10/08/2008 - 11:53
In reply to psyco by ABZee
อธิบายเกี่ยวกับ psyco หน่อยซิครับ
ลืมเขียนอ
ABZee Sun, 10/08/2008 - 17:16
In reply to อธิบายเกี by khao_lek
ลืมเขียนอธิบายไปเลยแฮะ ขอบคุณครับ
psyco มันทำงานคล้ายๆกับเป็น Just-In-Time compiler ให้กับโปรแกรม Python ครับ ทำให้โปรแกรมทำงานได้ไวขึ้นมากโดยไม่ต้องแก้ไขโค้ดแต่อย่างใด โดยมีข้อเสียคืดใช้แรมเพิ่มมากขึ้นนิดหน่อย
เวลาเขียนโปรแกรมบางโปรแกรมที่มันซับซ้อนแล้วใช้เวลาคำนวนมากๆ แต่ไม่มีเวลาออกแบบเพียงพอ (เช่นต้องส่งงานพรุ่งนี้) ผมมักจะรีบๆเขียนมันขึ้นมาแล้วใช้ psyco ช่วย optimised ส่วนที่เขียนไปไม่ค่อยดี เช่นตรงไหนเป็น list ทั้งๆที่ไม่ควรเป็น ตรงไหน ตัวแปรไหนมีการใช้งานเป็น integer มากๆก็จะมีการสร้างโค้ดเฉพาะขึ้นมาซึ่งเร็วกว่าเดิม
PoomK
ขอบคุณคับ
khao_lek Mon, 11/08/2008 - 00:57
In reply to ลืมเขียนอ by ABZee
ขอบคุณคับ แต่ยังไม่ค่อยเห็นภาพ เดี่ยวขอไปศึกษาเพิ่มก่อนคับ
แล้วงัยจะมาถามเพิ่มคับ พอดีน่าสนใจ(แบบว่าที่บริษัท ชอบขายผ้าเอาหน้ารอดนะคับ)
antlr
veer Sat, 09/08/2008 - 04:53
antlr ไม่รู้ว่านับเป็น library ได้หรือเปล่า? แต่มันก็มีส่วนที่เป็น library มั้งนิดนึง. ที่เหลือก็เป็นพวกเกี่ยวเนื่องกับ pylons ทั้งหลาย.
มีตัวไหนท
latesleeper Sun, 10/08/2008 - 16:58
มีตัวไหนทำงานกับ pdf ได้มั่งไหมครับ
ตัวนี้งัย
khao_lek Mon, 11/08/2008 - 00:56
In reply to มีตัวไหนท by latesleeper
ตัวนี้งัย reportlab แต่ผมก็ยังไม่เคยใช้นะครับ
ว่าจะว่าจะ หลายครังแต่ยังไม่เคยซักทีคับ งัยก็บอกกันบ้างนะครับ