Module 11: Quick Reference
File Handling Cheat Sheet
File Modes
| Mode | Description | File Exists | File Missing |
|---|---|---|---|
"r" | Read (default) | Opens | Error |
"w" | Write (overwrites) | Erases content | Creates |
"a" | Append | Adds to end | Creates |
"x" | Exclusive create | Error | Creates |
Reading Files
with open("file.txt", "r") as f: content = f.read() # Entire file as string line = f.readline() # One line at a time lines = f.readlines() # All lines as list # Best: iterate directly with open("file.txt") as f: for line in f: print(line.strip()) # strip() removes \n
Writing Files
# Write (overwrites existing content) with open("file.txt", "w") as f: f.write("text\n") # Write string (add \n yourself) f.writelines(list_of_str) # Write list of strings # Append (adds to end) with open("file.txt", "a") as f: f.write("added to end\n")
CSV Files
import csv # Read with csv.reader (rows as lists) with open("data.csv") as f: reader = csv.reader(f) header = next(reader) # Skip header row for row in reader: print(row[0]) # Access by index # Read with DictReader (rows as dicts) with open("data.csv") as f: reader = csv.DictReader(f) for row in reader: print(row["name"]) # Access by column name # Write CSV with open("out.csv", "w", newline="") as f: writer = csv.writer(f) writer.writerow(["col1", "col2"]) # Header writer.writerows(data) # All rows # Write with DictWriter with open("out.csv", "w", newline="") as f: writer = csv.DictWriter(f, fieldnames=["name", "score"]) writer.writeheader() writer.writerows(list_of_dicts)
Key Reminders
- Always use
withfor file operations write()does NOT add newlines - include\nyourselfstrip()removes trailing\nfrom read lines- CSV values are always strings - convert with
int()orfloat() - Use
newline=""when writing CSV files "w"mode erases existing file content