Python os.fpathconf() Method



The os.fpathconf() method of the Python OS module retrieves configuration information related to an open file descriptor. It is used when we need to check a system-level property.

If we pass an invalid configuration value to this method the ValueError exception will be raised.

NOTE: The Python os.fpathconf() can work only on UNIX platforms.

Syntax

Below is the syntax for fpathconf() method −

os.fpathconf(fd, name)

Parameters

The Python os.fpathconf() method accepts the below parameters −

  • fd − This is the file descriptor for which system configuration information is to be returned.

  • name − This parameter specifies the configuration value to retrieve. It may be a string, which is the name of a defined system value; these names are specified in a number of standards (POSIX.1, Unix 95, Unix 98, and others).

Return Value

The Python os.fpathconf() method returns system configuration information corresponding to an open file.

Example

The dictionary named "pathconf_names" contains all the configuration values related to the host operating system. In the following example, we are displaying the configuration values.

#!/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!!")

When we run above program, it produces following result −

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

Example

The following example shows the usage of fpathconf() method. Here, we are passing two configuration values namely "PC_LINK_MAX" and "PC_NAME_MAX" to fpathconf(). This will print the maximum number of links and maximum length of a filename.

#!/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!!")

On running the above program, it prints the following result −

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