Your Page Title
🔍

    Python OS Module

    The os module in Python is a standard library module that allows you to interact with the operating system. It enables you to perform operating system-dependent tasks, such as file and directory manipulation, process management, and accessing environment variables.

    1. Accessing the os Module

    To use the os module, you first need to import it:

    import os

    2. Key Functionalities of the os Module

    File and Directory Operations

    1. Working with the Current Working Directory
    • os.getcwd(): Returns the current working directory.
    cwd = os.getcwd()
    print("Current Directory:", cwd)
    • os.chdir(path): Changes the current working directory to the specified path.
    os.chdir("/path/to/directory")

    2. Creating and Removing Directories

    • os.mkdir(path): Creates a single directory.
    os.mkdir("new_folder")
    • os.makedirs(path): Creates directories recursively.
    os.makedirs("parent_folder/child_folder")
    • os.rmdir(path): Removes an empty directory.
    os.rmdir("new_folder")
    • os.removedirs(path): Removes directories recursively.
    os.removedirs("parent_folder/child_folder")

    3. Listing Files and Directories

    • os.listdir(path="."): Lists all files and directories in the given path.
    items = os.listdir(".")
    print(items)

    4. Renaming and Deleting Files

    • os.rename(src, dst): Renames a file or directory.
    os.rename("old_name.txt", "new_name.txt")
    • os.remove(path): Deletes a file.
    os.remove("file.txt")

    Environment Variables

    1. Getting and Setting Environment Variables
    • os.environ: A dictionary-like object containing the environment variables.
    print(os.environ["PATH"])
    • os.environ["NEW_VAR"] = "value": Sets a new environment variable.
    os.environ["MY_VAR"] = "123"
    print(os.environ["MY_VAR"])

    2. Getting a Specific Environment Variable

    • os.getenv(key, default=None): Gets the value of an environment variable.
    home_dir = os.getenv("HOME")
    print(home_dir)

    Path Manipulations

    1. Checking Existence and Properties
    • os.path.exists(path): Checks if a path exists.
    exists = os.path.exists("file.txt")
    print(exists)
    • os.path.isdir(path): Checks if a path is a directory.
    • os.path.isfile(path): Checks if a path is a file.

    2. Joining and Splitting Paths

    • os.path.join(path1, path2): Joins two or more paths.
    full_path = os.path.join("folder", "file.txt")
    print(full_path)
    • os.path.split(path): Splits a path into head and tail.
    head, tail = os.path.split("/path/to/file.txt")
    print("Head:", head)
    print("Tail:", tail)

    3. Getting File Information

    • os.path.getsize(path): Gets the size of a file in bytes.
    size = os.path.getsize("file.txt")
    print("File Size:", size, "bytes")

    Process Management

    1. Getting Process Information
    • os.getpid(): Gets the current process ID.
    print("Process ID:", os.getpid())
    • os.getppid(): Gets the parent process ID.
    print("Parent Process ID:", os.getppid())

    2. Starting New Processes

    • os.system(command): Executes a system command in a subshell.
    os.system("ls")

    Platform Information

    • os.name: Returns the name of the operating system-dependent module imported.
    print(os.name) # 'posix' for Unix-like, 'nt' for Windows
    • os.uname(): Provides system information (Unix-like systems only).
    print(os.uname())

    Miscellaneous

    1. Changing Permissions
    • os.chmod(path, mode): Changes the mode (permissions) of a file or directory.
    os.chmod("file.txt", 0o644)

    2. Walking a Directory Tree

    • os.walk(top, topdown=True): Generates the file names in a directory tree.
    for root, dirs, files in os.walk("."):
        print("Root:", root)
        print("Directories:", dirs)
        print("Files:", files)

    Example: Combining Multiple Functions

    import os
    
    # Get current working directory
    cwd = os.getcwd()
    print("Current Directory:", cwd)
    
    # Create a new directory
    os.mkdir("test_dir")
    
    # Change to the new directory
    os.chdir("test_dir")
    print("Changed Directory:", os.getcwd())
    
    # Create a file in the directory
    with open("example.txt", "w") as f:
        f.write("Hello, world!")
    
    # List contents
    print("Directory Contents:", os.listdir("."))
    
    # Clean up
    os.remove("example.txt")
    os.chdir("..")
    os.rmdir("test_dir")
    

    The os module is a very important tool for tasks that involve interacting with the file system and the operating system.