Real Python
  • Start Here
  • Learn Python
    Python Tutorials →
    In-depth articles and video courses
    Learning Paths →
    Guided study plans for accelerated learning
    Quizzes & Exercises →
    Check your learning progress
    Browse Topics →
    Focus on a specific area or skill level
    Community Chat →
    Learn with other Pythonistas
    Office Hours →
    Live Q&A calls with Python experts
    Podcast →
    Hear what’s new in the world of Python
    Books →
    Round out your knowledge and learn offline
    Reference →
    Concise definitions for common Python terms
    Code Mentor →Beta
    Personalized code assistance & learning tools
    Unlock All Content →
  • More
    Learner Stories Python Newsletter Python Job Board Meet the Team Become a Tutorial Writer Become a Video Instructor
  • Search
  • Join
  • Sign‑In
Browse Topics Guided Learning Paths
Basics Intermediate Advanced
ai algorithms api best-practices career community databases data-science data-structures data-viz devops django docker editors flask front-end gamedev gui machine-learning news numpy projects python stdlib testing tools web-dev web-scraping

Table of Contents

  • What Is a File?
    • File Paths
    • Line Endings
    • Character Encodings
  • Opening and Closing a File in Python
    • Text File Types
    • Buffered Binary File Types
    • Raw File Types
  • Reading and Writing Opened Files
    • Iterating Over Each Line in the File
    • Working With Bytes
    • A Full Example: dos2unix.py
  • Tips and Tricks
    • __file__
    • Appending to a File
    • Working With Two Files at the Same Time
    • Creating Your Own Context Manager
  • Don’t Re-Invent the Snake
  • You’re a File Wizard Harry!

Recommended Course