Python | os.pathconf 函數

最近更新時間 2020-12-08 13:26:41

os.pathconf 函數返回與打開的文件有關的系統配置信息。功能同 os.fpathconf 一樣。

如果 name 是一個字符串且不是已定義的名稱,將拋出 ValueError 異常。如果當前系統不支持 name 指定的配置名稱,即使該名稱存在於 pathconf_names,也會拋出 OSError 異常,錯誤碼為 errno.EINVAL。

當前系統支持的 name 可通過 os.pathconf_names 查看。

函數定義

os.pathconf(path, name)
# 函數定義

if sys.platform != 'win32':
    def pathconf(path: _FdOrPathType, name: Union[str, int]) -> int: ...  # Unix only

兼容性:Unix 系統。

參數

  • checkpath - 文件描述符。
  • checkname - 配置名稱,可參考 os.pathconf_names 變量。

返回值

  • checkint - 配置信息。

示例1: - 使用 os.pathconf() 函數返回與打開的文件有關的系統配置信息。

# coding=utf-8

# Python3 代碼
# 講解怎樣使用 os.pathconf() 函數返回與打開的文件有關的系統配置信息

# 引入 os 庫
import os

# 查看支持的 name
print(os.pathconf_names)

# 打開文件
path = "foo.txt"
fd = os.open(path, os.O_WRONLY)

# 文件最大鏈接數
no = os.pathconf(fd, "PC_LINK_MAX")
print("Maximum number of links::", no)

# 最大文件名
no = os.pathconf(fd, "PC_NAME_MAX")
print("Maximum length of a filename::", no)

# 關閉文件
os.close(fd)
{'PC_ALLOC_SIZE_MIN': 18, 'PC_ASYNC_IO': 10, 'PC_CHOWN_RESTRICTED': 6, 'PC_FILESIZEBITS': 13, 'PC_LINK_MAX': 0, 'PC_MAX_CANON': 1, 'PC_MAX_INPUT': 2, 'PC_NAME_MAX': 3, 'PC_NO_TRUNC': 7, 'PC_PATH_MAX': 4, 'PC_PIPE_BUF': 5, 'PC_PRIO_IO': 11, 'PC_REC_INCR_XFER_SIZE': 14, 'PC_REC_MAX_XFER_SIZE': 15, 'PC_REC_MIN_XFER_SIZE': 16, 'PC_REC_XFER_ALIGN': 17, 'PC_SOCK_MAXBUF': 12, 'PC_SYMLINK_MAX': 19, 'PC_SYNC_IO': 9, 'PC_VDISABLE': 8}
Maximum number of links:: 65000
Maximum length of a filename:: 255
rss_feed