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
rss_feed