Python | os.open() method

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.open() method in Python opens a specified file path. This method returns a file descriptor for a newly opened file. The returned file descriptor is non-inheritable

os.open method is also used to set various flags according to the specified flags and file’s mode according to the specified mode. 

Syntax:

os.open(path, flags, mode = 0o777, *, dir_fd = None) 

Parameters:

  • Path: A path-like object representing the file system path. This is the file path to be opened. A path-like object is a string or bytes object which represents a path. 
  • flags: This parameter specifies the flags to be set for newly opened files. 
  • mode (optional): A numeric value representing the mode of the newly opened file. The default value of this parameter is 0o777 (octal). 
  • dir_fd (optional): A file descriptor referring to a directory. 

Return Type: 

This method returns a file descriptor for a newly opened file.

List of flags that you can set on the new file:

List of Flags

FlagDescription
os.O_RDONLYOpens the file in read-only mode.
os.O_WRONLYOpens the file in write-only mode.
os.O_RDWROpens the file in read and write mode.
os.O_NONBLOCKOpens the file in non-blocking mode.
os.O_APPENDOpens the file and places the cursor at the end of the contents.
os.O_CREATCreates a file if it doesn’t exist.
os.O_TRUNCTruncates a file size to 0.
os.O_EXCLShows an error while creating a file that already exists.
os.O_SHLOCKObtains a shared lock for a file atomically.
os.O_EXLOCKObtains an exclusive lock for a file atomically.
os.O_DIRECTRemoves or reduces cache effects in a file.
os.O_FSYNCWrites file synchronously.
os.O_NOFOLLOWSets the file that doesn’t follow a symlink.

How to use the os.open() method

We will use the os.open() method to open a file path. Look at the code below to understand it better:

Code: 

# importing os module 
import os
# File path to be opened
path = './file9.txt'
# Mode to be set 
mode = 0o666
# flags
flags = os.O_RDWR | os.O_CREAT
fd = os.open(path, flags, mode)
print("File path opened successfully.")
str = "w3wiki: A computer science portal for Beginner."
os.write(fd, str.encode())
print("String written to the file descriptor.") 
# Now read the file from beginning
os.lseek(fd, 0, 0)
str = os.read(fd, os.path.getsize(path))
print("\nString read from the file descriptor:")
print(str.decode())
# Close the file descriptor
os.close(fd)
print("\nFile descriptor closed successfully.")

Output
File path opened successfully.
String written to the file descriptor.

String read from file descriptor:
w3wiki: A computer science portal for Beginner.

File descriptor closed successfully.

In this tutorial, we have covered the os.open() method of the OS  module to open a file. It is a very easy and straightforward way of opening files in Python. 

We have explained how to use os.open() method with a sample Python program. This easy and simple tutorial will help you implement the os.open() method in your codes.


Contact Us