OS Module in Python with Examples - GeeksforGeeks (2024)

The 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.

The *os* and *os.path* modules include many functions to interact with the file system.

Python-OS-ModuleFunctions

Here we will discuss some important functions of the Python os module :

  • Handling the Current Working Directory
  • Creating a Directory
  • Listing out Files and Directories with Python
  • Deleting Directory or Files using Python

Handling the Current Working Directory

Consider Current Working Directory(CWD) as a folder, where Python is operating. Whenever the files are called only by their name, Python assumes that it starts in the CWD which means that name-only reference will be successful only if the file is in the Python’s CWD.

Note: The folder where the Python script is running is known as the Current Directory. This is not the path where the Python script is located.

Getting the Current working directory

To get the location of the current working directory os.getcwd() is used.

Example: This code uses the os' module to get and print the current working directory (CWD) of the Python script. It retrieves the CWD using the os.getcwd()' and then prints it to the console.

Python
import os cwd = os.getcwd() print("Current working directory:", cwd) 

Output:

Current working directory: /home/nikhil/Desktop/gfg

Changing the Current working directory

To change the current working directory(CWD) os.chdir() method is used. This method changes the CWD to a specified path. It only takes a single argument as a new directory path.

Note: The current working directory is the folder in which the Python script is operating.

Example: The code checks and displays the current working directory (CWD) twice: before and after changing the directory up one level using os.chdir('../'). It provides a simple example of how to work with the current working directory in Python.

Python
import os def current_path(): print("Current working directory before") print(os.getcwd()) print() current_path() os.chdir('../') current_path() 

Output:

Current working directory before
C:\Users\Nikhil Aggarwal\Desktop\gfg
Current working directory after
C:\Users\Nikhil Aggarwal\Desktop

Creating a Directory

There are different methods available in the OS module for creating a directory. These are –

  • os.mkdir()
  • os.makedirs()

Using os.mkdir()

By using os.mkdir() method in Python is used to create a directory named path with the specified numeric mode. This method raises FileExistsError if the directory to be created already exists.

Example: This code creates two directories: “GeeksforGeeks” within the “D:/Pycharm projects/” directory and “Geeks” within the “D:/Pycharm projects” directory.

  • The first directory is created using the os.mkdir() method without specifying the mode.
  • The second directory is created using the same method, but a specific mode (0o666) is provided, which grants read and write permissions.
  • The code then prints messages to indicate that the directories have been created.
Python
import osdirectory = "GeeksforGeeks"parent_dir = "D:/Pycharm projects/"path = os.path.join(parent_dir, directory)os.mkdir(path)print("Directory '% s' created" % directory)directory = "Geeks"parent_dir = "D:/Pycharm projects"mode = 0o666path = os.path.join(parent_dir, directory)os.mkdir(path, mode)print("Directory '% s' created" % directory)

Output:

Directory 'GeeksforGeeks' created
Directory 'Geeks' created

Using os.makedirs()

os.makedirs() method in Python is used to create a directory recursively. That means while making leaf directory if any intermediate-level directory is missing, os.makedirs() method will create them all.

Example:This code creates two directories, “Nikhil” and “c”, within different parent directories. It uses the os.makedirs function to ensure that parent directories are created if they don’t exist.

It also sets the permissions for the “c” directory. The code prints messages to confirm the creation of these directories

Python
import osdirectory = "Nikhil"parent_dir = "D:/Pycharm projects/GeeksForGeeks/Authors"path = os.path.join(parent_dir, directory)os.makedirs(path)print("Directory '% s' created" % directory)directory = "c"parent_dir = "D:/Pycharm projects/GeeksforGeeks/a/b"mode = 0o666path = os.path.join(parent_dir, directory)os.makedirs(path, mode)print("Directory '% s' created" % directory)

Output:

Directory 'Nikhil' created
Directory 'c' created

Listing out Files and Directories with Python

There is os.listdir() method in Python is used to get the list of all files and directories in the specified directory. If we don’t specify any directory, then the list of files and directories in the current working directory will be returned.

Example: This code lists all the files and directories in the root directory (“/”). It uses the os.listdir function to get the list of files and directories in the specified path and then prints the results.

Python
import os path = "/"dir_list = os.listdir(path) print("Files and directories in '", path, "' :") print(dir_list) 

Output:

Files and directories in ' / ' :
['sys', 'run', 'tmp', 'boot', 'mnt', 'dev', 'proc', 'var', 'bin', 'lib64', 'usr',
'lib', 'srv', 'home', 'etc', 'opt', 'sbin', 'media']

Deleting Directory or Files using Python

OS module provides different methods for removing directories and files in Python. These are –

  • Using os.remove()
  • Using os.rmdir()

Using os.remove() Method

os.remove() method in Python is used to remove or delete a file path. This method can not remove or delete a directory. If the specified path is a directory then OSError will be raised by the method.

Example: Suppose the file contained in the folder are:

OS Module in Python with Examples - GeeksforGeeks (1)

This code removes a file named “file1.txt” from the specified location “D:/Pycharm projects/GeeksforGeeks/Authors/Nikhil/”. It uses the os.remove function to delete the file at the specified path.

Python
import os file = 'file1.txt'location = "D:/Pycharm projects/GeeksforGeeks/Authors/Nikhil/"path = os.path.join(location, file) os.remove(path) 

Output:

OS Module in Python with Examples - GeeksforGeeks (2)


Using os.rmdir()

os.rmdir() method in Python is used to remove or delete an empty directory. OSError will be raised if the specified path is not an empty directory.

Example: Suppose the directories are

OS Module in Python with Examples - GeeksforGeeks (3)

This code attempts to remove a directory named “Geeks” located at “D:/Pycharm projects/”.

It uses the os.rmdir function to delete the directory. If the directory is empty, it will be removed. If it contains files or subdirectories, you may encounter an error.

Python
import os directory = "Geeks"parent = "D:/Pycharm projects/"path = os.path.join(parent, directory) os.rmdir(path) 

Output:

OS Module in Python with Examples - GeeksforGeeks (4)

Commonly Used Functions

Using os.name function

This function gives the name of the operating system dependent module imported. The following names have currently been registered: ‘posix’, ‘nt’, ‘os2’, ‘ce’, ‘java’ and ‘riscos’.

Python
import osprint(os.name)

Output:

posix

Note: It may give different output on different interpreters, such as ‘posix’ when you run the code here.

Using os.error Function

All functions in this module raise OSError in the case of invalid or inaccessible file names and paths, or other arguments that have the correct type, but are not accepted by the operating system. os.error is an alias for built-in OSError exception.

This code reads the contents of a file named ‘GFG.txt’. It uses a try…except block to handle potential errors, particularly the ‘IOError that may occur if there’s a problem reading the file.

If an error occurs, it will print a message saying, “Problem reading: GFG.txt.”

Python
import ostry: filename = 'GFG.txt' f = open(filename, 'rU') text = f.read() f.close()except IOError: print('Problem reading: ' + filename)

Output:

Problem reading: GFG.txt

Using os.popen() Function

This method opens a pipe to or from command. The return value can be read or written depending on whether the mode is ‘r’ or ‘w’.
Syntax:

 os.popen(command[, mode[, bufsize]])

Parameters mode & bufsize are not necessary parameters, if not provided, default ‘r’ is taken for mode.

This code opens a file named ‘GFG.txt’ in write mode, writes “Hello” to it, and then reads and prints its contents. The use of os.popen is not recommended, and standard file operations are used for these tasks.

Python
import osfd = "GFG.txt"file = open(fd, 'w')file.write("Hello")file.close()file = open(fd, 'r')text = file.read()print(text)file = os.popen(fd, 'w')file.write("Hello")

Output:

Hello

Note: Output for popen() will not be shown, there would be direct changes into the file.

Using os.close() Function

Close file descriptor fd. A file opened using open(), can be closed by close()only. But file opened through os.popen(), can be closed with close() or os.close(). If we try closing a file opened with open(), using os.close(), Python would throw TypeError.

Python
import osfd = "GFG.txt"file = open(fd, 'r')text = file.read()print(text)os.close(file)

Output:

Traceback (most recent call last):
File "C:\Users\GFG\Desktop\GeeksForGeeksOSFile.py", line 6, in
os.close(file)
TypeError: an integer is required (got type _io.TextIOWrapper)

Note: The same error may not be thrown, due to the non-existent file or permission privilege.

Using os.rename() Function

A file old.txt can be renamed to new.txt, using the function os.rename(). The name of the file changes only if, the file exists and the user has sufficient privilege permission to change the file.

Python
import osfd = "GFG.txt"os.rename(fd,'New.txt')os.rename(fd,'New.txt')

Output:

Traceback (most recent call last):
File "C:\Users\GFG\Desktop\ModuleOS\GeeksForGeeksOSFile.py", line 3, in
os.rename(fd,'New.txt')
FileNotFoundError: [WinError 2] The system cannot find the
file specified: 'GFG.txt' -> 'New.txt'

A file name “GFG.txt” exists, thus when os.rename() is used the first time, the file gets renamed.

Upon calling the function os.rename() second time, file “New.txt” exists and not “GFG.txt” thus Python throws FileNotFoundError.

Using os.remove() Function

Using the Os module we can remove a file in our system using the os.remove() method. To remove a file we need to pass the name of the file as a parameter.

Python
import os #importing os module.os.remove("file_name.txt") #removing the file.

The OS module provides us a layer of abstraction between us and the operating system.

When we are working with os module always specify the absolute path depending upon the operating system the code can run on any os but we need to change the path exactly. If you try to remove a file that does not exist you will get FileNotFoundError.

Using os.path.exists() Function

This method will check whether a file exists or not by passing the name of the file as a parameter. OS module has a sub-module named PATH by using which we can perform many more functions.

Python
import os #importing os moduleresult = os.path.exists("file_name") #giving the name of the file as a parameter.print(result)

Output:

False

As in the above code, the file does not exist it will give output False. If the file exists it will give us output True.

Using os.path.getsize() Function

In os.path.getsize() function, python will give us the size of the file in bytes. To use this method we need to pass the name of the file as a parameter.

Python
import os #importing os modulesize = os.path.getsize("filename")print("Size of the file is", size," bytes.")

Output:

Size of the file is 192 bytes.


P

Piyush Doorwar

Improve

Previous Article

OS Module in Python with Examples

Next Article

Generating Random id's using UUID in Python

Please Login to comment...

OS Module in Python with Examples - GeeksforGeeks (2024)

FAQs

What is os module in Python with example? ›

The OS module in Python is an indispensable tool for handling file-related tasks for programmers. The Python OS module is essential for file-related tasks, enabling efficient file and directory management in programs.

What is the difference between os module and os path module in Python? ›

Answer: - The os. path modules in Python contains some useful functions that are in strings or bytes which are used for different purposes like merging or retrieving the path names in the Python. While the os module in the Python provides us with some functions which are used for interacting with the operating system.

What is the difference between SYS module and os module in Python? ›

The Sys Module can access the command line arguments and the os module can access the location of the script as shown in the below code.

What is the primary purpose of the os module in Python? ›

The 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.

What is a module in Python explain with an example? ›

Simply put, a module is a file consisting of Python code. It can define functions, classes, and variables, and can also include runnable code. Any Python file can be referenced as a module. A file containing Python code, for example: test.py , is called a module, and its name would be test .

How to create a file using os module in Python? ›

Using the os Module to Create Files

mknod() function to create a new file. If the file already exists, Python will raise a FileExistsError , which we catch and handle by printing an error message. This method can be useful if you want to ensure that you don't accidentally overwrite an existing file.

How to get the path using os module in Python? ›

As you see, you can get the current working directory in Python by importing the os module and calling the os. getcwd() method. You can change the working directory using the os. chdir(<path>) method, and you can test whether a path, either directory, or file, exists using the os.

Do we need to install os module in Python? ›

os is a standard Python module, there's no need install it. So import os should always work inside Python, and if it doesn't, the cause is your PYTHONPATH or IDE settings, look at them; don't start trying to manually install things with pip .

What can I use instead of os path in Python? ›

The Python pathlib module provides an easier method to interact with the filesystem no matter what the operating system is. It allows a more intuitive, more pythonic way to interface with file paths (the name of a file including any of its directories and subdirectories). In the os module, paths are regular strings.

What is the difference between Pathlib and OS module in Python? ›

The OS library will return a string, whereas the Pathlib will return an object of PosixPath. The benefit of having PosixPath returned is that we can directly use the returned object to do a lot more further operations. This will be demonstrated in later sections.

How to check OS module in Python? ›

system() returns the OS name as a string, such as 'Linux' , 'Darwin' , 'Java' , 'Windows' . The OS name can also be determined using os.name and sys. platform . os.name provides either 'posix' (Unix-like), 'nt' (Windows), or 'java' , while sys.

What is sys module in Python with example? ›

The sys module in Python provides various functions and variables that are used to manipulate different parts of the Python runtime environment. It allows operating on the interpreter as it provides access to the variables and functions that interact strongly with the interpreter. Let's consider the below example.

Why do we use OS system in Python? ›

The os. system() method in Python is a powerful utility that allows you to execute shell commands directly from a Python script. This function bridges the Python environment and the underlying operating system, enabling you to interact with the command-line interface seamlessly.

What are the useful functions of OS in Python? ›

Useful functions of os module related to File/Directory in Python
  • getcwd() The ** getcwd() function** helps to find the current working directory – it returns a string with the complete path. ...
  • mkdir() The mkdir() function is useful if you want to create a directory. ...
  • chdir() ...
  • listdir() ...
  • remove() ...
  • rmdir()

What does the OS module function remove? ›

The os. remove() method is used to delete a file path. This method can not delete a directory and if directory is found it will raise an OSError .

What is os used for Python? ›

Python has a built-in os module with methods for interacting with the operating system, like creating files and directories, management of files and directories, input, output, environment variables, process management, etc.

How to use os commands in Python? ›

Shell Commands with Python using OS Module

Second, in the Python file, import the os module, which contains the system function that executes shell commands. system() function takes an only string as an argument. Type whatever you want to see as an output or perform an action. Run this .

What is an example of an operator module in Python? ›

Example:
  • # Import operator module.
  • import operator.
  • # Take two input numbers from user.
  • x = int(input("Enter first integer number: "))
  • y = int(input("Enter second integer number: "))
  • # Adding both input numbers.
  • addResult = operator. add(x, y)
  • # Print result.

Can I create os using Python? ›

Python can be used to create operating systems, as it provides a large number of libraries for low-level programming. For example, the Python-based operating system, PyOS, uses Python as its primary programming language.

Top Articles
Latest Posts
Article information

Author: Terence Hammes MD

Last Updated:

Views: 6148

Rating: 4.9 / 5 (69 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Terence Hammes MD

Birthday: 1992-04-11

Address: Suite 408 9446 Mercy Mews, West Roxie, CT 04904

Phone: +50312511349175

Job: Product Consulting Liaison

Hobby: Jogging, Motor sports, Nordic skating, Jigsaw puzzles, Bird watching, Nordic skating, Sculpting

Introduction: My name is Terence Hammes MD, I am a inexpensive, energetic, jolly, faithful, cheerful, proud, rich person who loves writing and wants to share my knowledge and understanding with you.