2.1 เรียกใช้ตัวแปลบรรทัดคำสั่ง (Invoking the Interpreter)
2.2 ตัวแปลคำสั่งและสภาพแวดล้อม (The Interpreter and Its Environment)
ในเดเบียนตัวโปรแกรมไพธอนจะอยู่ที่ /usr/bin/python
ซึ่งจะเป็นลิงก์โยงไปหาตัวไพธอนรุ่นที่เราติดตั้งจริง ๆ เช่น
$ which python /usr/bin/python $ ls -l /usr/bin/python lrwxrwxrwx 1 root root 9 2006-12-26 19:18 /usr/bin/python -> python2.4
จะเห็นว่ารุ่นของไพธอนตามตัวอย่าง เป็นรุ่น 2.4
ซึ่งไดเรกทอรี่ /usr/bin
จะอยู่ในพาธการค้นหาโปรแกรมอยู่แล้ว ดังนั้นเราสามารถเรียกใช้ได้ง่าย ๆ ว่า
$ python
สำหรับลินุกซ์ดิสโตรอื่นก็คล้าย ๆ กัน
ในวินโดวส์ เมื่อติดตั้งไพธอนเสร็จแล้ว ตัวโปรแกรมจะไปอยู่ที่ C:\Python24
ซึ่งเราอาจต้องเพิ่มในพาธเอง ด้วยการเข้าสู่ Command Prompt และพิมพ์ดังนี้
set path=%path%;C:\python24
ทั้งหมดนี้เป็นการเรียกใช้ตัวแปลบรรทัดคำสั่งของไพธอน ซึ่งจะทำให้เราสามารถใช้งานแบบโต้ตอบกับตัวแปลภาษาได้
แต่ยังมีอีกกรณีหนึ่งคือ หากเราต้องการเพียงแค่ทดลองเพียงคำสั่งเดียวแล้วออกจากไพธอนเลย เราอาจใช้รูปแบบเป็น python -c command [arg]
เช่น
$ python -c 'print "abcd"' abcd
เมื่อเรียกใช้ตัวแปลบรรทัดคำสั่ง ค่าตามหลังที่เราส่งผ่านให้กับโปรแกรม จะถูกเก็บไว้ที่ตัวแปร sys.argv
โดย...
python
: sys.argv[0]
จะเป็นสตริงก์ว่างpython -
: sys.argv[0]
จะบรรจุค่า "-"
-c
หรือ -m
: sys.argv[0]
จะเก็บค่า "-c" และชื่อมอดูลตามลำดับ ค่าอื่นหลังจากนี้ จะถูกเก็บไว้ในตัวแปร sys.argv
เพื่อให้คำสั่งหรือมอดูลได้เรียกใช้งานต่อไปพร้อมต์หลัก (Primary prompt) คือ >>>
$ python Python 2.4.4 (#2, Apr 5 2007, 20:11:18) [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
แต่หากยังไม่จบบล๊อก จะใช้พร้อมต์ตาม (Secondary promt) คือ ...
ดังนี้
>>> the_world_is_flat = 1 >>> if the_world_is_flat: ... print "Be careful not to fall off!" ... Be careful not to fall off!
เมื่อเกิดข้อผิดพลาด ไพธอนจะรายงานข้อผิดพลาดและรายทางของการผิดพลาด โดย
รายงานความผิดพลาดทั้งหมดจะถูกส่งไปยังสายการรายงานข้อผิดพลาดของระบบ (standard error stream) และการแสดงผลก็จะถูกส่งไปยังเอาต์พุตของระบบเช่นกัน
การกดคีย์เพื่อขัดจังหวะ เช่น Control-C หรือ DEL จะ...
KeyboardInterrupt
จะถูกยกขึ้นมา ซึ่งเราสามารถจัดการได้โดยผ่านประโยคคำสั่ง try
แค่เติม Hash bang ที่บรรทัดแรกของสคริปต์ ก็จะทำให้สคริปต์สามารถรันได้
#! /usr/bin/env python
อย่าลืมเปลี่ยนโหมดให้รันได้ด้วย
$ chmod +x myscript.py
หากมีส่วนของโค๊ดที่ไม่ใช่ภาษาอังกฤษล้วน ควรแจ้งการเข้ารหัสอักขระด้วย ด้วยการเติมต่อจากบรรทัดแรกว่า
# -*- coding: encoding -*-
สามารถดูรหัสอักขระทั้งหมดที่ Python Library Reference ในหัวข้อ codecs
เช่น ถ้าจะกำหนดค่าตัวแปรให้มีสัญญลักษณ์การเงินยูโร เราอาจเลือกใช้การเข้ารหัสอักขระเป็น ISO-8859-15
(ค่า ordinal คือ 164) ซึ่งในสคริปต์นี้จะพิมพ์ค่า 8364 ซึ่งเป็นค่ายูนิโค๊ดของสัญญลักษณ์ยูโร
# -*- coding: iso-8859-15 -*- currency = u"€" print ord(currency)
แต่สำหรับยุคนี้ ควรเลือกใช้ UTF-8 ดีกว่าเยอะ เพราะรองรับอักขระทุกตัวในโลก
ในการใช้งานหมวดโต้ตอบ บางครั้งอาจต้องตั้งค่าเริ่มต้นให้ระบบ โดยการใส่ชื่อโปรแกรมที่ต้องการรันในการเริ่มต้นให้กับตัวแปรแวดล้อมชื่อ PYTHONSTARTUP
(คล้ายกับการตั้งค่าไฟล์ .profile ในลินุกซ์)
เราสามารถขยายความสามารถนี้ โดยให้ไฟล์เริ่มต้นหลักมาดูในไดเรคทอรี่ปัจจุบันก่อน ว่ามีไฟล์ที่มีชื่อตามที่เรากำหนดหรือไม่ ถ้ามีก็จะรันตามที่เรากำหนดไว้ เช่นถ้ากำหนดให้ใช้ชื่อว่า .pythonrc.py
ก็ใช้คำสั่งว่า "if os.path.isfile('.pythonrc.py'): execfile('.pythonrc.py')"
เป้นต้น
การสร้างไฟล์เริ่มต้นทำได้โดยบรรจุคำสั่งนี้ในสคริปต์
import os filename = os.environ.get('PYTHONSTARTUP') if filename and os.path.isfile(filename): execfile(filename)