Python os.fpathconf() Method

Python File(文件) 方法Python OS File/Directory Methods


Overview

The os.fpathconf() method is used to return system configuration information for an open file.

Available on Unix.

Syntax

fpathconf()The method syntax is as follows:

os.fpathconf(fd, name)

Parameters

  • fd-- The file descriptor of the opened file.

  • name-- Optional, same as the buffersize parameter and the Python built-in open function, the mode parameter can specify 'r,w,a,r+,w+,a+,b', etc., indicating whether the file is read-only or readable/writable, and whether the file is opened in binary or text form. These parameters are similar to the mode parameter specified in the fopen function in <stdio.h> in C language.

  • bufsize-- The value of the system configuration to retrieve; it may be a string defining a system value. These names are specified in many standards (POSIX.1, Unix 95, Unix 98, and others). Some platforms also define additional names. These names are in the pathconf_names dictionary on the main operating system. For configuration variables not in pathconf_names, it is acceptable to pass a number as the name.

Return Value

Returns the system configuration information of an opened file.

Example

The following example demonstrates the use of the fpathconf() method:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )

print "%s" % os.pathconf_names

# 获取最大文件连接数
no = os.fpathconf(fd, 'PC_LINK_MAX')
print "文件最大连接数为 :%d" % no

# 获取文件名最大长度
no = os.fpathconf(fd, 'PC_NAME_MAX')
print "文件名最大长度为 :%d" % no

# 关闭文件
os.close( fd )

print "关闭文件成功!!"

The output of the above program is:

{'PC_MAX_INPUT': 2, 'PC_VDISABLE': 8, 'PC_SYNC_IO': 9, 
'PC_SOCK_MAXBUF': 12, 'PC_NAME_MAX': 3, 'PC_MAX_CANON': 1, 
'PC_PRIO_IO': 11, 'PC_CHOWN_RESTRICTED': 6, 'PC_ASYNC_IO': 10, 
'PC_NO_TRUNC': 7, 'PC_FILESIZEBITS': 13, 'PC_LINK_MAX': 0, 
'PC_PIPE_BUF': 5, 'PC_PATH_MAX': 4}

文件最大连接数为 :127
文件名最大长度为 :255
Closed the file successfully!!

Python File(文件) 方法Python OS File/Directory Methods

Other Extensions