Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การเรียกระบบ POSIX ที่พบบ่อยที่สุดใน Python


โมดูล 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