Learn Python – Python OS Module- Basic and advance

Python OS module affords the facility to establish the interplay between the person and the operating system. It affords many beneficial OS functions that are used to operate OS-based duties and get associated data about running system.

The OS comes below Python’s standard utility modules. This module provides a transportable way of the use of operating system dependent functionality.

The Python OS module lets us work with the files and directories.

To work with the OS module, we need to import the OS module.  
import os  

There are some features in the OS module which are given below:

os.name()

This feature affords the title of the working system module that it imports.

Currently, it registers ‘posix’, ‘nt’, ‘os2’, ‘ce’, ‘java’ and ‘riscos’.

Example

import os   
print(os.name)   

Output:

nt

os.mkdir()

The os.mkdir() feature is used to create new directory. Consider the following example.

import os  
os.mkdir("d:\\newdir")  

It will create the new directory to the path in the string argument of the function in the D force named folder newdir.

os.getcwd()

It returns the cutting-edge working directory(CWD) of the file.

Example

import os     
print(os.getcwd())     

Output:

C:\Users\Python\Desktop\ModuleOS

os.chdir()

The os module presents the chdir() characteristic to change the present day working directory.

import os  
os.chdir("d:\\")  

Output:

d:\\

os.rmdir()

The rmdir() feature gets rid of the specific listing with an absolute or associated path. First, we have to alternate the present day working listing and put off the folder.

Example

import os  
# It will throw a Permission error; that's why we have to change the current working directory.  
os.rmdir("d:\\newdir")  
os.chdir("..")  
os.rmdir("newdir")  

os.error()

The os.error() characteristic defines the OS level errors. It raises OSError in case of invalid or inaccessible file names and route etc.

Example

import os  
  
try:  
    # If file does not exist,  
    # then it throw an IOError  
    filename = 'Python.txt'  
    f = open(filename, 'rU')  
    text = f.read()  
    f.close()  
  
# The Control jumps directly to here if  
# any lines throws IOError.  
except IOError:  
  
    # print(os.error) will <class 'OSError'>  
    print('Problem reading: ' + filename)     

Output:

Problem reading: Python.txt

os.popen()

This feature opens a file or from the command specified, and it returns a file object which is linked to a pipe.

Example

import os     
fd = "python.txt"      
    
# popen() is similar to open()     
file = open(fd, 'w')     
file.write("This is awesome")     
file.close()     
file = open(fd, 'r')     
text = file.read()     
print(text)     
      
# popen() provides gateway and accesses the file directly     
file = os.popen(fd, 'w')     
file.write("This is awesome")     
# File not closed, shown in next function.      

Output:

This is awesome

os.close()

This feature closes the associated file with descriptor fr.

Example

import os     
fr = "Python1.txt"    
file = open(fr, 'r')     
text = file.read()     
print(text)     
os.close(file)       

Output:

Traceback (most recent call last):
  File "main.py", line 3, in 
    file = open(fr, 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'Python1.txt'

os.rename()

A file or directory can be renamed by way of the use of the function os.rename(). A user can rename the file if it has privilege to change the file.

Example

import os     
fd = "python.txt"    
os.rename(fd,'Python1.txt')     
os.rename(fd,'Python1.txt')     

Output:

Traceback (most recent call last):
  File "main.py", line 3, in 
    os.rename(fd,'Python1.txt')
FileNotFoundError: [Errno 2] No such file or directory: 'python.txt' -> 'Python1.txt'

os.access()

This characteristic makes use of actual uid/gid to check if the invoking person has get right of entry to to the path.

Example

import os     
import sys    
    
path1 = os.access("Python.txt", os.F_OK)     
print("Exist path:", path1)     
      
# Checking access with os.R_OK     
path2 = os.access("Python.txt", os.R_OK)     
print("It access to read the file:", path2)     
      
# Checking access with os.W_OK     
path3 = os.access("Python.txt", os.W_OK)     
print("It access to write the file:", path3)     
      
# Checking access with os.X_OK     
path4 = os.access("Python.txt", os.X_OK)     
print("Check if path can be executed:", path4)    

Output:

Exist path: False
It access to read the file: False
It access to write the file: False
Check if path can be executed: False