Python os.fdopen() Method
The method fdopen() returns an open file object connected to the file descriptor fd. Then you can perform all the defined functions on file object.
Following is the syntax for fdopen() method
os.fdopen(fd, [, mode[, bufsize]]);
fd -- This is the file descriptor for which a file object is to be returned.
mode -- This optional argument is a string indicating how the file is to be opened. The most commonly-used values of mode are 'r' for reading, 'w' for writing (truncating the file if it already exists), and 'a' for appending.
bufsize -- This optional argument specifies the file's desired buffer size: 0 means unbuffered, 1 means line buffered, any other positive value means use a buffer of (approximately) that size.
This method returns an open file object connected to the file descriptor.
The following example shows the usage of fdopen() method.
#!/usr/bin/python import os, sys # Open a file fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT ) # Now get a file object for the above file. fo = os.fdopen(fd, "w+") # Tell the current position print "Current I/O pointer position :%d" % fo.tell() # Write one string fo.write( "Python is a great language.\nYeah its great!!\n"); # Now read this file from the beginning. os.lseek(fd, 0, 0) str = os.read(fd, 100) print "Read String is : ", str # Tell the current position print "Current I/O pointer position :%d" % fo.tell() # Close opened file fo.close() print "Closed the file successfully!!"
Let us compile and run the above program, this will produce the following result:
Current I/O pointer position :0 Read String is : This is testPython is a great language. Yeah its great!! Current I/O pointer position :45 Closed the file successfully!!