OS module in Python provides functions for interacting with the operating system. OS comes under Python’s standard utility modules. This module provides a portable way of using operating system dependent functionality.
os.closerange()
method in Python is used to close all file descriptors in the range fd_low (inclusive) to fd_high (exclusive). Any error occurred while closing any of the file descriptor in the given range is ignored.
A file descriptor is small integer value that corresponds to a file or other input/output resource, such as a pipe or network socket. A File descriptor is an abstract indicator of a resource and act as handle to perform various lower level I/O operations like read, write, send etc.
For Example: Standard input is usually file descriptor with value 0, standard output is usually file descriptor with value 1 and standard error is usually file descriptor with value 2.
Further files opened by the current process will get the value 3, 4, 5 an so on.
Syntax: os.closerange(fd_low, fd_high)
Parameters:
fd_low: The Lowest file descriptor to be closed.
fd_high: The highest file descriptor to be closed.Return Type: This method does not return any value
Code: Use of os.closerange()
method to close file descriptors in the given range
# Python program to explain os.close() method # importing os module import os # File Paths to be opened path1 = "/home/ihritik/Desktop/file1.txt" path2 = "/home/ihritik/Desktop/file2.txt" path3 = "/home/ihritik/Desktop/file3.txt" path4 = "/home/ihritik/Desktop/file4.txt" # open the files and get # the file descriptor associated # with it using os.open() method fd1 = os. open (path1, os.O_WRONLY | os.O_CREAT) fd2 = os. open (path2, os.O_WRONLY | os.O_CREAT) fd3 = os. open (path3, os.O_WRONLY | os.O_CREAT) fd4 = os. open (path4, os.O_WRONLY | os.O_CREAT) # Perform some operation # Lets write a string s = "GeeksForGeeks: A computer science portal forneveropen" # Convert string to bytes object line = str .encode(s) # Write above string to all file os.write(fd1, line) os.write(fd2, line) os.write(fd3, line) os.write(fd4, line) # close all file descriptors # using os.closerange() method fd_low = min (fd1, fd2, fd3, fd4) fd_high = max (fd1, fd2, fd3, fd4) os.closerange(fd_low, fd_high + 1 ) print ( "All file descriptor closed successfully" ) |
All file descriptor closed successfully
Note: os.closerange()
method is equivalent to following python code:
for fd in range (fd_low, fd_high): try : os.close(fd) except OSError: pass |
However os.closerange()
method works faster than above code.