Difference between .py and .pyc files?

In Python, .py and .pyc files serve different purposes:

.py Files (Source Code Files)

  1. These are the raw source code files written in Python programming language.
  2. They contain human-readable code that is written by developers.
  3. Python code in .py files is interpreted by the Python interpreter at runtime.
  4. These files are used for development and are the files you write and edit to create your Python programs.

.pyc Files (Compiled Bytecode Files)

  1. These files are generated by the Python interpreter from the corresponding .py source code files.

    .pyc files contain compiled bytecode, which is a lower-level representation of the Python code.

  2. The bytecode is generated to improve the execution speed of Python programs, as it is closer to machine code and can be executed faster by the interpreter.
  3. .pyc files are automatically created and stored in the __pycache__ directory when you import a module for the first time.

  4. Python uses .pyc files to avoid recompilation and speed up subsequent imports of the same module.


The .py files are the human-readable source code files written by developers, while .pyc files are the compiled bytecode files generated by the Python interpreter for improved execution speed and efficiency. The Python interpreter automatically creates and uses .pyc files to optimize the execution of your Python programs.