Python os.fpathconf() 方法



Python OS 模块的 os.fpathconf() 方法检索与打开的文件描述符相关的配置信息。当我们需要检查系统级属性时,可以使用此方法。

如果我们将无效的配置值传递给此方法,则会引发 ValueError 异常。

注意: Python os.fpathconf() 只能在 UNIX 平台上运行。

语法

以下是 fpathconf() 方法的语法:-

os.fpathconf(fd, name)

参数

Python os.fpathconf() 方法接受以下参数:-

  • fd - 这是要返回系统配置信息的文件描述符。

  • name - 此参数指定要检索的配置值。它可以是字符串,即已定义系统值的名称;这些名称在许多标准中指定(POSIX.1、Unix 95、Unix 98 等)。

返回值

Python os.fpathconf() 方法返回对应于打开文件的系统配置信息。

示例

名为“pathconf_names”的字典包含与主机操作系统相关的所有配置值。在以下示例中,我们显示了配置值。

#!/usr/bin/python
import os, sys

# Open a file
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )
print ("%s" % os.pathconf_names)

# Close opened file
os.close( fd)
print ("Closed the file successfully!!")

当我们运行上述程序时,它会产生以下结果:-

{'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}

Closed the file successfully!!

示例

以下示例显示了 fpathconf() 方法的用法。在这里,我们传递了两个配置值,即“PC_LINK_MAX”和“PC_NAME_MAX”到 fpathconf()。这将打印最大链接数和文件名最大长度。

#!/usr/bin/python
import os, sys

# Open a file
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )

# get maximum number of links to the file.
no = os.fpathconf(fd, 'PC_LINK_MAX')
print ("Maximum number of links to the file. :%d" % no)

# Now get maximum length of a filename
no = os.fpathconf(fd, 'PC_NAME_MAX')
print ("Maximum length of a filename :%d" % no)

# Close opened file
os.close( fd)
print ("Closed the file successfully!!")

运行上述程序后,它会打印以下结果:-

Maximum number of links to the file. :65000
Maximum length of a filename :255
Closed the file successfully!!
python_files_io.htm
广告