Работа с файлами — один из базовых навыков в Python. Она нужна для логов, конфигов, обмена данными, отчетов и автоматизации. Ниже — краткая и практичная шпаргалка по чтению и записи обычных файлов, CSV и JSON.
Чтение текстового файла
Самый безопасный способ — через with: файл закроется автоматически.
with open("data.txt", "r", encoding="utf-8") as f:
text = f.read()
print(text)
Полезные варианты:
- f.read() — прочитать весь файл
- f.readline() — прочитать одну строку
- f.readlines() — получить список строк
- цикл for line in f: — удобно для больших файлов
with open("data.txt", "r", encoding="utf-8") as f:
for line in f:
print(line.strip())
Запись в файл
with open("output.txt", "w", encoding="utf-8") as f:
f.write("Привет, Python!\n")
Режимы открытия:
- "r" — чтение
- "w" — перезапись файла
- "a" — дозапись в конец
- "x" — создать новый файл, если его нет
Пример дозаписи:
with open("log.txt", "a", encoding="utf-8") as f:
f.write("Новая запись\n")
Работа с CSV
CSV часто используют для таблиц, выгрузок и аналитики. В Python для этого есть модуль csv.
Чтение CSV:
import csv
with open("users.csv", "r", encoding="utf-8", newline="") as f:
reader = csv.reader(f)
for row in reader:
print(row)
Если нужны колонки по именам:
import csv
with open("users.csv", "r", encoding="utf-8", newline="") as f:
reader = csv.DictReader(f)
for row in reader:
print(row["name"], row["email"])
Запись CSV:
import csv
rows = [
["name", "age"],
["Анна", 25],
["Иван", 30]
]
with open("users.csv", "w", encoding="utf-8", newline="") as f:
writer = csv.writer(f)
writer.writerows(rows)
Работа с JSON
JSON подходит для API, конфигов и хранения структурированных данных. Используется модуль json.
Запись JSON:
import json
data = {
"name": "Анна",
"age": 25,
"skills": ["Python", "SQL"]
}
with open("user.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=4)
Чтение JSON:
import json
with open("user.json", "r", encoding="utf-8") as f:
data = json.load(f)
print(data["name"])
Полезные советы ⚙️
- всегда указывайте encoding="utf-8"
- для CSV добавляйте newline="", чтобы избежать пустых строк
- для больших файлов читайте построчно, а не через read()
- проверяйте существование файла и обрабатывайте исключения try/except
Что важно запомнить ✅
- with open(...) — стандарт для безопасной работы с файлами
- csv — для табличных данных
- json — для словарей, списков и обмена с API
- правильный режим открытия файла экономит время и нервы
📌 Сохраняйте пост как мини-шпаргалку по Python-файлам.
И загляните в подборку каналов про IT — там много полезного по Python, автоматизации, backend и работе с данными.