Chapter 14. Files and Directories

I have files, I have computer files and, you know, files on paper. But most of it is really in my head. So God help me if anything ever happens to my head!

George R. R. Martin

When you first start programming, you hear some words over and over but aren’t sure whether they have a specific technical meaning or are just handwaving. The terms file and directory are such words, and they do have actual technical meanings. A file is a sequence of bytes, stored in some filesystem, and accessed by a filename. A directory is a collection of files, and possibly other directories. The term folder is a synonym for directory. It turned up when computers gained graphical user interfaces, and mimicked office concepts to make things seem more familiar.

Many filesystems are hierarchical, and often referred to as being like a tree. Real offices don’t tend to have trees in them, and the folder analogy only works if you visualize subfolders all the way down.

File Input and Output

The simplest kind of persistence is a plain old file, sometimes called a flat file. You read from a file into memory and write from memory to a file. Python makes these jobs easy. As with many languages, its file operations were largely modeled on the familiar and popular Unix equivalents.

Create or Open with open()

You need to call the open function before you do the following:

  • Read an existing file

  • Write to a new file

  • Append to an existing file

  • Overwrite an existing file

Get Introducing Python, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.