当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。