Module posix hoạt động trên môi trường UNIX. Nó cung cấp chức năng hệ điều hành.
Chúng ta không nên nhập module này trực tiếp. Ta có thể dùng module os. Module os đóng vai trò là superset (siêu tập) của posix trên UNIX. Trên hệ thống non-Unix, posix không khả dụng, nhưng os vẫn có sẵn với một số chức năng ít hơn.
Để dùng module posix, nên nhập bằng:
import posix
Có nhiều phương thức và hằng số khác nhau trong module POSIX.
Hằng số posix.environ
environ là một đối tượng dictionary. Nó giữ các khóa và giá trị. Khóa và giá trị là kiểu bytes trên UNIX. Ví dụ, environ[b'HOME'] sẽ hiển thị thư mục home của hệ thống.
Nếu sửa đổi một số entry trong dictionary này, nó sẽ không ảnh hưởng đến đối số của các phương thức khác như execv(), popen(), v.v. Để thay đổi môi trường, ta cần truyền environ cho phương thức execve(). Hoặc thêm câu gán biến và câu export trong chuỗi lệnh cho system() hoặc popen().
Phương thức posix.open(file_name, mode)
Phương thức open() của POSIX có thể mở file từ ổ đĩa cục bộ. Trả về file descriptor. Khi một file descriptor bị đóng, open() sẽ dùng lại descriptor đó cho file mới.
Phương thức posix.read(file_descriptor, size)
Phương thức read() dùng để đọc nội dung file bằng file descriptor. Cũng nhận giới hạn tối đa để đọc. Ta có thể chỉ định thư mục, nhưng nếu là None, phương thức sẽ chọn thư mục hiện tại.
Mã ví dụ
import posix
fruit_fd = posix.open("fruits", 0)
print(fruit_fd) # File Descriptor
val = posix.read(fruit_fd, 512)
print(val)
print("Thư mục Home: " + str(posix.environ[b'HOME']))
Kết quả
$ python3 posix_example.py 3 b'Mango\nOrange\nBanana\nApple\nGuava\nGrape\nRaspberry\nBlueberry\nPineapple\nWatermelon\n' Thư mục Home: b'/home/unix_user'