>>> Let's run Python on Mobile

วันจันทร์, สิงหาคม 22, 2548

ลองใช้คำสั่งใน sys Module

ที่ผ่านมาเราได้หัดใช้โมดูล appuifw และ e32
และหลายๆคำสั่งที่เป็นแบบ build-in ไม่ต้องเรียกโมดูลก่อนใช้ เช่นคำสั่ง str() ซึ่งมีประโยชน์มาก มันสามารถแปลงค่าต่างๆ ที่returnกลับมา จากfunctionอื่นๆ ให้กลายเป็น string ได้
มีเทคนิคเล็กน้อยเกี่ยวกับคำสั่ง str()
หากเราต้องการจะแสดงข้อความบนหน้าจอ Smartphone เช่นใช้คำสั่ง add()
เราจำเป็นจะต้องเปลี่ยน ข้อความนั้นๆ ให้กลายเป็น Unicode string เสียก่อน
เราสามารถบังคับคำสั่ง str() ให้สร้าง Unicode string ให้กับเราโดย จับมัน + กับUnicode string อะไรสักอย่าง ดังตัวอย่าง
เปลี่ยน int (เลขจำนวนเต็ม) ให้กลายเป็น Unicode string
str(123456)+u'something'
หรือ
str(123456)+u""

ลองมาดู คำสั่งในโมดูลอื่นๆกันบ้าง
โมดูล sys เรียกใช้งาน python interpreter มีหลายๆคำสั่งที่น่าสนใจ เรียกใช้บ่อยๆ
เริ่มเรียกใช้โมดูล sys โดยการ
import sys

วันนี้จะขอแสดงเฉพาะคำสั่งง่ายๆให้ดูกันก่อน
sys.version จะreturnค่ากลับมาเป็นstring บอกversionของpython
sys.platform จะreturnค่ากลับมาเป็นstring บอกว่า python กำลังทำงานอยู่บน os อะไร
sys.path จะreturnค่ากลับมาเป็น list บอกว่า python สามารถ load module จากที่folderไหนได้บ้าง
sys.exit() ออกจาก python

จากCode ตัวอย่างข้างล่าง
เรา import sys แล้วเรียกใช้คำสั่งต่างๆในโมดูล sys ผ่าน def และ menu
มีตัวแปล x คอยรับค่าต่างๆที่returnกลับมา แล้วเปลี่ยนให้เป็น Unicode string
แสดงขึ้นจอด้วยคำสั่ง t.add()
import appuifw ,e32,sys
def show_path():
     x=sys.path
     t.add(str(x)+u''+'\n')
def show_platform():
     x=sys.platform
     t.add(str(x)+u''+'\n')
def show_python_version():
     x=sys.version
     t.add(str(x)+u''+'\n')
def exit_now():
     appuifw.note(u'Prepare to exit','info')
     sys.exit()
def clear_screen():
     t.clear()
     appuifw.note(u'Clear text on screen','info')
def stop_now():
     a.signal()
appuifw.app.title=u'test16'
t=appuifw.Text()
appuifw.app.body=t
t.set(u'Work on sys Module\n')
appuifw.app.menu=[(u'show path',show_path),(u'show platform',show_platform),(u'show python
version',show_python_version),(u'clear screen menu',clear_screen),(u'exit_now',exit_now)]
appuifw.app.exit_key_handler=stop_now
a=e32.Ao_lock()
a.wait()





Codeตัวอย่าง
test16.zip

หน้าถัดไป>>>
หน้าก่อน
กลับไปหน้าหลัก

รายละเอียดเกี่ยวกับ Python for Symbian s60
>>> Introduction to Python
>>> Let's run Python for Symbian s60
>>> สั่งงานในPython ด้วย InterActiveConsole
>>> Editor บน Symbian ที่เขียนด้วย Python
>>> เริ่มต้นเขียนโปรแกรม กับ Python
>>>การสร้าง Function สร้าง Menu และกำหนด Exit
>>>And More...