14.6 Chapter summary
Highlights from this chapter include:
- Python can read and write data in files using the built-in
openfunction. - Due to buffering, changes to a file may not be visible until the file is closed.
- Newline characters need to be removed/added when reading/writing files.
- Comma-separate-value (CSV) files are commonly used to represent data.
- Exceptions that cause a program to terminate can be handled using
tryandexcept. - Raising an exception is an alternative way to return from a function when an error occurs.
| Statement | Description |
|---|---|
file = open("myfile.txt") | Open a file for reading. |
file = open("myfile.txt", 'w') | Open a file for writing. |
file = open("myfile.txt", 'a') | Open a file for appending. |
file.close | Close a file after making changes. |
data = file.read | Read the entire contents of a file. The variable data is a string. |
data = file.readline | Read the next line of a file. The variable data is a string. |
data = file.readlines | Read all lines of a file. The variable data is a list of strings. |
file.write("Have a nice day!\n") | Writes a line to a file. In contrast to print, the write function does not automatically append a newline. |
file.write(["Line 1\n", "Line 2\n"]) | Writes multiple lines to a file. As with write, a newline is not automatically added at the end of each line. |
try:
# Statements
except:
# Statements
| Try to run statements that might raise an error. If any error is raised, run other statements. |
try:
# Statements
except ValueError:
# Statements
| Try to run statements that might raise a ValueError. If a ValueError is raised, run other statements. |
try:
# Statements
except ValueError as err:
# Statements
| Try to run statements that might raise a ValueError. If a ValueError is raised, run other statements. The variable err contains more details about the ValueError. |
raise ValueError
| Raises a ValueError with no specific error message. |
raise ValueError("number is prime")
| Raises a ValueError with the message "number is prime". |