A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.tutorialspoint.com/python/os_fdopen.htm below:

Python os.fdopen() Method

Python os.fdopen() Method

The fdopen() method of Python OS module accepts a file descriptor as a parameter value and returns a corresponding file object. This allows us to perform all the defined operations, such as reading and writing on the given file object.

The term file descriptor can be defined as an integer value that identifies the open file from a chunk of open files kept by the kernel for each process.

Syntax

Following is the syntax for Python fdopen() method −

os.fdopen(fd, [, mode[, bufsize]]);
Parameters

The Python os.fdopen() method accepts the following parameters −

Return Value

The Python os.fdopen() method returns an open file object connected to the file descriptor.

Example

The following example shows the usage of fdopen() method. Here, we are opening a file with read and write permissions. Then, we check the I/O pointer position before and after reading the text of given file.

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

When we run above program, it produces the following result −

Current I/O pointer position :0
Read String is :  b'Python is a great language.\nYeah its great!!\n'

Current I/O pointer position :45
Closed the file successfully!!
Example

To specify the line buffer for the given file descriptor, pass the buffer size with value 1 as an argument to fdopen() as shown in the below code.

import os

# Open a file descriptor
fd = os.open("txtFile.txt", os.O_RDWR|os.O_CREAT)

# file object with 1-byte line buffer
with os.fdopen(fd, 'w+', buffering=1) as file:
   file.write("This is tutorialspoint.")
   file.seek(0)
   print(file.read())

The above program will show the following output −

This is tutorialspoint.

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