python

เวลาเราจะพิมพ์ code ใส่ใน codenone.com สมมุติว่าเป็นภาษา python เราก็เขียนแบบข้างล่างได้เลย

<blockcode type="python"> 

def foo(a):

    return a * a

</blockcode>  

ใช่แล้วอย่าลืมย่อหน้าด้วยนะครับ จะได้อ่านง่ายๆ.


edit @ 17 Feb 2008 21:36:01 by veer

There is some suggestion about installing maxent toolkit on AMD64 at http://homepages.inf.ed.ac.uk/s0450736/maxent_toolkit.html. However I took quite long time for modifying Maxent toolkit 20061005 following the suggest. Thus here is the patch:

 

diff -Nuar maxent-20061005.orig/Jamrules.in maxent-20061005.2/Jamrules.in
--- maxent-20061005.orig/Jamrules.in 2006-10-05 18:37:21.000000000 +0700
+++ maxent-20061005.2/Jamrules.in 2007-11-08 16:01:03.000000000 +0700
@@ -1,10 +1,10 @@

CC = @CCDV@ @CC@ ;
-CCFLAGS = @CFLAGS@ -DBOOST_DISABLE_THREADS ; # no need to link pthread lib
+CCFLAGS = @CFLAGS@ -DBOOST_DISABLE_THREADS -fPIC ; # no need to link pthread lib
C++ = @CCDV@ @CXX@ ;
-C++FLAGS = @CXXFLAGS@ -DBOOST_DISABLE_THREADS ;
+C++FLAGS = @CXXFLAGS@ -DBOOST_DISABLE_THREADS -fPIC ;
FORTRAN = @CCDV@ @FC@ ;
-FORTRANFLAGS = @FCFLAGS@ ;
+FORTRANFLAGS = @FCFLAGS@ -fPIC ;
HAVE_FORTRAN = @FC@ ;
HAVE_GETOPT_LONG = @ac_cv_func_getopt_long@ ;
OPTIM = @OPTIM@ ;

edit @ 17 Feb 2008 20:19:05 by veer

XML pull parser สำหรับ Python

posted on 31 Mar 2007 19:14 by veer
from xml.dom import pulldom

def main():
events = pulldom.parse('orchid.xml')
for (event, node) in events:
if event == "START_ELEMENT" and node.tagName == "paragraph":
events.expandNode(node)
print node.getElementsByTagName("word")

if __name__ == '__main__':
main()

Pulldom นี่มันอารมณ์กึ่ง SAX กึ่ง DOM ถ้าเราไม่เรียก events.expandNode(node) มันก็จะไม่สร้าง DOM Tree ให้ก็ประหยัด memory ประหยัดเวลา ไม่เหมือน DOM ที่สร้าง tree ต้นใหญ่ทีเดียวทั้งเอกสารเลย

ตัวอย่าง
<corpus>
<document author="abcd" ...>
<paragraph>
<sentence raw_txt="blaa blaa blaa">
<word surface="blaa" pos="NNNN"/>
<word surface="blaa" pos="NNNN"/>
<word surface="blaa" pos="NNNN"/>
<word surface="blaa" pos="NNNN"/>
</sentence>
</paragraph>

<paragraph>
<sentence raw_txt="blaa blaa blaa">
<word surface="blaa" pos="NNNN"/>
<word surface="blaa" pos="NNNN"/>
<word surface="blaa" pos="NNNN"/>
<word surface="blaa" pos="NNNN"/>
</sentence>
</paragraph>
</document>
...
</corpus>

จาก code ตัวอย่าง และ XML ตัวอย่าง Pulldom มันก็จะสร้าง DOM tree ของส่วนที่เป็น สีเขียวก่อนในครั้งแรก ใช้เสร็จแล้วก็ปล่อยไป แล้วก็มาสร้างตรงสีน้ำเงินใหม่ แล้วก็ปล่อยไปอีก แบบนี้เราก็จะทำอะไรแบบ getElementsByTagName ซึ่งเป็นท่าของ DOM ในเฉพาะบริเวณ สีเขียว หรือ สีน้ำเงิน ได้ ซึ่งสำหรับผมมันก็สะดวกดี

ป.ล. แรงบรรดาลจากที่พี่ Pok เคยถามไว้ ว่า Python มี Pull parser หรือเปล่า

edit @ 2007/04/03 20:13:38

python book

ผมมีปัญหาเหลือเกินว่า ไพธอนก็เป็นภาษาที่ดีใช้ง่าย แต่พอชาวบ้านจะใช้ด้วยเขาก็บ่นก็ว่าไม่มีตำหรับ ตำรา ภาษาไทยราคาสมเหตุสมผล ให้หามาอ่านเลย ผมก็เคยคิดจะเขียนเองเหมือนกันนะ แต่มันก็ได้แค่อะไรนิดหน่อยๆ

วันก่อนไปดูหนังสือร้านนายอินทร์ที่เดอะมอลก็มาเจอเล่นนี้เข้าพอดี เล่มนี้โดยอ.จักรกฤษณ์ ถือว่าเป็นตำราไพธอนภาษาไทยที่เป็นกระดาษและจำหน่ายในวงกว้าง เล่มแรกเลยทีเดียว (บนเวบมีของคุณสุกรีเขียนไว้ที่ howforge และ ford antitrust ทำรายงานส่งอาจารย์มาแล้ว) ที่ผ่านมาผมประทับใจคุณภาพของหนังสือของส.ส.ท.มาโดยตลอด ดังนั้งจึงเดาๆเอาว่าเล่มนี้ก็น่าจะดีด้วย แต่ก็ยังไม่ได้อ่านละเอียด ราคาก็ไม่แพงจนเกินไป 350 บาท สำหรับผมก็สมเหตุสมผลนะ

เดี๋ยวคงไปถามชาวบ้านก่อนว่าสนใจหรือเปล่า ถ้าสนใจอาจจะหาวิธีจัดซื้อมาไว้ที่ lab ซักเล่ม

ขอบคุณอ.จักรกฤษณ์ (ผู้แต่งหนังสือ และผู้ถ่ายภาพ) ที่อนุญาตให้ใช้ภาพ และที่เขียนหนังสือดีๆ(แบบที่ผมต้องการ)ออกมานะครับ ขอบคุณส.ส.ท.ด้วยที่ช่วยพิมพ์ออกมาขาย

ป.ล. เรื่องซ้ำกับที่ http://vee-r.blogspot.com/ นะ ขออภัยชาว TLWG Planet ด้วย

edit @ 2006/11/08 17:52:28