The fstatvfs() method of Python OS module is used to retrieve information about the file system containing the file associated with the respective file descriptor.
When we invoke this method with a valid file descriptor, it performs a "statvfs()" system call on the path associated with that file descriptor. The method returns an object of class "os.statvfs_result", which contains attributes representing various details about the file system. Those are listed below −
f_bsize − file system block size
f_frsize − fragment size
f_blocks − size of fs in f_frsize units
f_bfree − free blocks
f_bavail − free blocks for non-root
f_files − inodes
f_ffree − free inodes
f_favail − free inodes for non-root
f_fsid − file system ID
f_flag − mount flags
f_namemax − maximum filename length
The syntax for Python os.fstatvfs() method is as follows −
os.fstatvfs(fd)Parameters
The Python os.fstatvfs() method accepts a single parameter −
fd − This is the file descriptor for which system information is to be returned.
The Python os.fstatvfs() method returns information about the file system.
ExampleIf we pass the file descriptor to the fstatvfs() method as a parameter value, it will return the file system information in the form of an "os.statvfs_result" object as illustrated in the below example.
#!/usr/bin/python import os, sys # Open a file fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT ) # Now get the touple info = os.fstatvfs(fd) print ("File Info :", info) # Close opened file os.close( fd) print("File closed successfully!!")
When we run above program, it produces following result −
File Info : os.statvfs_result(f_bsize=4096, f_frsize=4096, f_blocks=6276673, f_bfree=3002417, f_bavail=2677246, f_files=1605632, f_ffree=1375154, f_favail=1375154, f_flag=4096, f_namemax=255) File closed successfully!!Example
In the following example, we are passing two atrributes named "f_namemax" and "f_bfree" of "os.statvfs_result" object to fstatvfs() method. This will display the Maximum filename length and Free blocks.
#!/usr/bin/python import os, sys # Open a file fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT ) info = os.fstatvfs(fd) # Now get maximum filename length print ("Maximum filename length :%d" % info.f_namemax) # Now get free blocks print ("Free blocks :%d" % info.f_bfree) # Close opened file os.close( fd) print("File closed successfully!!")
When we execute the above code, it will display the following output −
Maximum filename length :255 Free blocks :3002417 File closed successfully!!
python_files_io.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4