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