โมดูล posix ทำงานบนสภาพแวดล้อม UNIX มีฟังก์ชันของระบบปฏิบัติการ
เราไม่ควรนำเข้าโมดูลนี้โดยตรง เราสามารถใช้โมดูลระบบปฏิบัติการ โมดูล os ทำหน้าที่เป็น superset ของโมดูล posix บน UNIX บนระบบที่ไม่ใช่ Unix นั้น posix จะไม่พร้อมใช้งาน แต่ระบบปฏิบัติการนั้นมีฟังก์ชันการทำงานที่น้อยกว่า
ในการใช้โมดูลโพซิก เราควรนำเข้าโดยใช้
import posix
มีวิธีการและค่าคงที่ที่แตกต่างกันในโมดูล POSIX
ค่าคงที่ posix.environ
สภาพแวดล้อมเป็นวัตถุพจนานุกรม มันถือกุญแจและค่า คีย์และค่าเป็นประเภทไบต์สำหรับ UNIX ตัวอย่างเช่น environ[b'HOME'] จะแสดงโฮมไดเร็กทอรีของระบบ
หากเราแก้ไขบางรายการในพจนานุกรมนี้ จะไม่ส่งผลกระทบกับอาร์กิวเมนต์ของวิธีการอื่นๆ เช่น execv(), popen() เป็นต้น ในการเปลี่ยนสภาพแวดล้อม เราต้องส่งผ่านวิธี environ ไปยัง execve() หรือเพิ่มการกำหนดตัวแปรและคำสั่งเอ็กซ์พอร์ตในสตริงคำสั่งสำหรับวิธี system() หรือ popen()
วิธีการ posix.open(ชื่อไฟล์ โหมด)
วิธี POSIX open() สามารถเปิดไฟล์จากดิสก์ในเครื่องได้ มันส่งกลับตัวอธิบายไฟล์ เมื่อ file descriptor ตัวหนึ่งถูกปิด วิธี open() จะใช้ descriptor เดิมอีกครั้งสำหรับไฟล์ใหม่
วิธีการ posix.read(file_descriptor, size)
เมธอด read() ใช้เพื่ออ่านเนื้อหาไฟล์โดยใช้ file descriptor นอกจากนี้ยังใช้ขีดจำกัดสูงสุดในการอ่าน เราระบุไดเร็กทอรีได้ แต่ถ้าไม่มี เมธอดจะเลือกไดเร็กทอรีปัจจุบัน
โค้ดตัวอย่าง
import posix fruit_fd = posix.open("fruits", 0) print(fruit_fd) #The File Descriptor val = posix.read(fruit_fd, 512) print(val) print("The Home Directory: " + str(posix.environ[b'HOME']))
ผลลัพธ์
$ python3 posix_example.py 3 b'Mango\nOrange\nBanana\nApple\nGuava\nGrape\nRaspberry\nBlueberry\nPineapple\nWatermelon\n' The Home Directory: b'/home/unix_user