Python | os.get_blocking 函数
判断文件是否阻塞
最近更新时间 2020-12-10 11:01:10
os.get_blocking 函数获取文件描述符的阻塞模式。如果文件未设置 os.O_NONBLOCK 标志(表示指定的文件描述符处于阻塞模式),则此方法返回 True。如果设置了 os.O_NONBLOCK 标志(表示指定的文件描述符处于非阻塞模式),则返回 False。
设置阻塞模式可参见 os.set_blocking(fd, blocking) 和 socket.setblocking(flag)。
在 Linux 系统中,处于阻止模式的文件描述符意味着系统可以阻止 I/O 系统调用(如读取,写入或连接)。
函数定义
os.get_blocking(fd)
# 函数定义
if sys.platform != 'win32':
# Unix only
...
def get_blocking(fd: int) -> bool: ...
...
兼容性:Unix 系统。
参数
- checkfd - 文件描述符。
返回值
- checkbool - 是否阻塞模式。
示例1: - 使用 os.get_blocking() 函数获取文件阻塞模式状态。
# coding=utf-8
# Python3 代码
# 讲解怎样使用 os.get_blocking() 函数获取文件阻塞模式
# 引入 os 库
import os
# 文件路径
path = "foo.txt"
# 使用 os.open 函数获取文件描述符
fd = os.open(path, os.O_RDWR)
# 使用 os.get_blocking() 方法获取文件阻塞模式
mode = os.get_blocking(fd)
print("File blocking mode::", mode)
File blocking mode:: True