當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python os.set_blocking()用法及代碼示例


Python中的OS模塊提供了與操作係統進行交互的函數。操作係統屬於Python的標準實用程序模塊。該模塊提供了使用依賴於操作係統的函數的便攜式方法。

os.set_blocking()Python中的方法用於設置指定文件描述符的阻止模式。此方法修改os.O_NONBLOCK標誌。它將os.O_NONBLOCK標誌設置為非阻塞模式,並清除os.O_NONBLOCK標誌為阻塞模式。

處於阻止模式的文件描述符意味著係統可以阻止I /O係統調用(如讀取,寫入或連接)。
例如:如果在stdin上調用read system call,則程序將被阻塞(內核會將進程置於睡眠狀態),直到要在stdin上實際讀取的數據可用為止。


注意: os.set_blocking()該方法僅在Unix平台上可用。

用法: os.set_blocking(fd, blocking) 

參數:
fd:要設置其阻止模式的文件描述符。
blocking:布爾值。如果將文件描述符置於阻塞模式,則為true;如果要將文件描述符置於非阻塞模式,則為false。

返回類型:此方法不返回任何值。

代碼:用於os.set_blocking()設置文件描述符的阻止模式的方法。
# Python program to explain os.set_blocking() method  
    
# importing os module  
import os 
  
# File path  
path = "/home/ihritik/Documents/file.txt"
  
# Open the file and get 
# the file descriptor associated 
# with it using os.open() method 
fd = os.open(path, os.O_RDWR) 
  
  
# Get the current blocking mode 
# of the file descriptor 
# using os.get_blocking() method 
print("Blocking Mode:", os.get_blocking(fd))  
  
  
# Change the blocking mode 
blocking = False
os.set_blocking(fd, blocking) 
print("Blocking mode changed") 
  
  
# Get the blocking mode 
# of the file descriptor 
# using os.get_blocking() method 
print("Blocking Mode:", os.get_blocking(fd))  
  
  
# close the file descriptor 
os.close(fd) 
  
  
# A False value for blocking 
# mode denotes that the file 
# descriptor has been put into 
# Non-Blocking mode while True 
# denotes that file descriptor 
# is in blocking mode.
輸出:
Blocking Mode:True
Blocking mode changed
Blocking Mode:False

參考: https://docs.python.org/3/library/os.html#os.set_blocking



相關用法


注:本文由純淨天空篩選整理自ihritik大神的英文原創作品 Python | os.set_blocking() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。