Page 155 - thinkpython
P. 155
Chapter 14
Files
14.1 Persistence
Most of the programs we have seen so far are transient in the sense that they run for a short
time and produce some output, but when they end, their data disappears. If you run the
program again, it starts with a clean slate.
Other programs are persistent: they run for a long time (or all the time); they keep at least
some of their data in permanent storage (a hard drive, for example); and if they shut down
and restart, they pick up where they left off.
Examples of persistent programs are operating systems, which run pretty much whenever
a computer is on, and web servers, which run all the time, waiting for requests to come in
on the network.
One of the simplest ways for programs to maintain their data is by reading and writing
text files. We have already seen programs that read text files; in this chapter we will see
programs that write them.
An alternative is to store the state of the program in a database. In this chapter I will present
a simple database and a module, pickle , that makes it easy to store program data.
14.2 Reading and writing
A text file is a sequence of characters stored on a permanent medium like a hard drive,
flash memory, or CD-ROM. We saw how to open and read a file in Section 9.1.
To write a file, you have to open it with mode 'w' as a second parameter:
>>> fout = open( 'output.txt ', 'w')
>>> print fout
<open file 'output.txt ', mode 'w' at 0xb7eb2410>
If the file already exists, opening it in write mode clears out the old data and starts fresh,
so be careful! If the file doesn’t exist, a new one is created.
The write method puts data into the file.