Python Modules and Imports: A Complete Guide

Online Python Trainer for Beginners

Learn Python easily without overwhelming theory. Solve practical tasks with automatic checking, get hints in Russian, and write code directly in your browser — no installation required.

Start Course

Python Modules: Getting Started

Working with modules and organizing imports properly is essential for writing clean, well-structured, and scalable Python code. Python's powerful module system lets you use built-in libraries, third-party packages, and create your own modules.

In this guide, we'll dive deep into how imports work. We'll explore popular Python modules like os and sys, and learn how to structure your projects for easy module management.

What Is a Python Module?

A Python module is simply a file with a .py extension. It contains variables, functions, classes, or executable code. Modules can be imported into other programs to reuse functionality.

Using modules in Python allows you to:

  • Reuse code you've already written
  • Break your project into logical parts
  • Improve code readability
  • Simplify program maintenance
  • Build more structured application architectures

How to Import Modules in Python

Basic Module Import

The simplest way to import uses the import keyword:

import math
print(math.sqrt(16))  # Output: 4.0

This example uses the built-in math module, which provides various mathematical functions for calculations.

Importing with an Alias

Importing a module with an alias makes it easier to reference:

import math as m
print(m.pi)  # Output: 3.141592653589793

This approach is handy when a module has a long name or when you use it frequently in your code.

Importing Specific Functions from a Module

You can import only the functions you need:

from math import sqrt
print(sqrt(25))  # Output: 5.0

This lets you call the function directly without specifying the module name.

Importing All Objects from a Module

Python allows importing everything from a module at once:

from math import *
print(sin(0))  # Output: 0.0

This approach is not recommended. It reduces code readability and increases the risk of naming conflicts with your variables and functions.

How Python Finds Modules

Module Search Order

Python searches for modules in this order:

  • The current working directory
  • Directories listed in the PYTHONPATH environment variable
  • Standard Python installation directories
  • Site-packages directories

Checking Module Search Paths

You can view the list of directories Python searches using the sys module:

import sys
print(sys.path)

This command prints the full list of directories where Python looks for imported modules and packages.

Adding Custom Search Paths

If needed, you can add extra paths for Python to search:

import sys
sys.path.append('/custom/path/to/modules/')

Working with the os Module in Python

Key Features of the os Module

The os module provides powerful tools for interacting with the operating system. It lets you perform file and directory operations.

Getting the Current Working Directory

import os
print(os.getcwd())

The getcwd() function returns the path to your current working directory.

Listing Directory Contents

files = os.listdir('.')
print(files)
                

Blogs

Book Recommendations