เรียนรู้โมดูล Python Sys
ในบทความนี้ เราจะมาดู โมดูล Python Sys มีตัวแปรและฟังก์ชันที่ดูแลโดยล่าม และโมดูล sys ให้วิธีการโต้ตอบกับตัวแปรเหล่านั้น ตัวแปรเหล่านี้จะพร้อมใช้งานจนกว่าล่ามจะมีชีวิตอยู่ เราจะมาดูฟังก์ชั่นของระบบที่ใช้กันทั่วไปบางส่วนกัน
หากต้องการทำงานกับ โมดูล sys คุณต้องนำเข้า โมดูล ก่อน
sys.version – เก็บข้อมูลเกี่ยวกับเวอร์ชันปัจจุบันของ Python
python3
>>> import sys
>>> sys.version
sys.path – ตัวแปร Path เก็บเส้นทางไดเร็กทอรีในรูปแบบของรายการสตริง เมื่อใดก็ตามที่คุณนำเข้าโมดูลหรือรันโปรแกรมโดยใช้เส้นทางสัมพันธ์ ล่ามหลามจะค้นหาโมดูลหรือสคริปต์ที่จำเป็นโดยใช้ตัวแปรเส้นทาง
ดัชนีเส้นทางจัดเก็บไดเร็กทอรีที่มีสคริปต์ที่ใช้ในการเรียกใช้ล่าม Python ที่ดัชนี “ศูนย์” หากล่ามถูกเรียกใช้แบบโต้ตอบหรือหากอ่านสคริปต์จากอินพุตมาตรฐาน เส้นทาง[0] จะเป็นสตริงว่าง
>>> sys.path
เมื่อเรียกใช้สคริปต์ เส้นทาง[0] จะจัดเก็บเส้นทางไดเรกทอรี
vim 1.py
python3 1.py
หากคุณมีโมดูลในไดเร็กทอรีที่กำหนดเอง คุณสามารถเพิ่มเส้นทางไดเร็กทอรีให้กับตัวแปรพาธได้โดยใช้เมธอด path.append() (เนื่องจากพาธเป็นวัตถุรายการ เราจึงใช้เมธอดรายการ “ต่อท้าย ”)
python3
>>> import sys
>>> sys.path
>>> sys.path.append('/root/test/')
>>> sys.path
sys.argv – argv ใช้เพื่อส่งอาร์กิวเมนต์รันไทม์ไปยังโปรแกรมหลามของคุณ Argv คือรายการที่เก็บชื่อสคริปต์เป็นค่าที่ 1 ตามด้วยอาร์กิวเมนต์ที่เราส่งผ่าน ค่า Argv จะถูกจัดเก็บเป็นสตริงประเภท และคุณต้องแปลงค่าดังกล่าวตามความต้องการของคุณอย่างชัดเจน
>>> sys.argv
เมื่อคุณเรียกใช้ตัวอย่างข้อมูลด้านล่าง ค่าสิ้นสุดของฟังก์ชันช่วงจะถูกส่งผ่าน sys.argv[1] เป็น 10 และค่าอื่นๆ อีกสองสามค่าจะถูกส่งผ่านเพื่อพิมพ์รายการ argv ด้วย ค่าต่างๆ ที่ส่วนท้ายของโปรแกรม
#!/usr/bin/python3
import sys
for x in range(1,int(sys.argv[1])):
print(x)
Print all the arguments passed
print("Arguments passed:",sys.argv)
sys.executable – พิมพ์เส้นทางสัมบูรณ์ของไบนารีของล่าม Python
>>> sys.executable
'/usr/bin/python3'
sys.platform – พิมพ์ประเภทแพลตฟอร์มระบบปฏิบัติการ ฟังก์ชั่นนี้จะมีประโยชน์มากเมื่อคุณรันโปรแกรมโดยขึ้นอยู่กับแพลตฟอร์ม
>>> sys.platform
'linux'
sys.exit – ออกจากล่ามโดยเพิ่ม SystemExit(status) ตามค่าเริ่มต้น สถานะ ระบุว่าเป็น ศูนย์ และถือว่าสำเร็จ เราสามารถใช้ค่าจำนวนเต็มเป็น สถานะการออก หรือวัตถุประเภทอื่น ๆ เช่น string("failed ") ดังแสดงในตัวอย่างด้านล่าง
ด้านล่างตัวอย่าง จะมีการใช้ข้อมูลโค้ดเพื่อตรวจสอบว่าแพลตฟอร์มนั้นเป็น Windows หรือไม่ จากนั้นจึงเรียกใช้โค้ด ถ้าไม่เพิ่มฟังก์ชัน exit()
#!/usr/bin/python3
import sys
if sys.platform == 'windows': # CHECK ENVIRONMENT
#code goes here
pass
else:
print("This script is intended to run only on Windows, Detected platform: ", sys.platform)
sys.exit("Failed")
sys.maxsize – นี่คือค่าจำนวนเต็มที่แสดงถึงค่าสูงสุดที่ตัวแปรสามารถเก็บได้
On a 32-bit platform it is 2**31 - 1
On a 64-bit platform it is 2**63 - 1
สรุป
เราได้เห็นฟังก์ชันสำคัญบางอย่างของ โมดูล sys แล้ว และยังมีฟังก์ชันอื่นๆ อีกมากมาย จนกว่าเราจะมีบทความถัดไป คุณสามารถอ่านเพิ่มเติมเกี่ยวกับโมดูล sys ได้ที่นี่