Работа с файлами и JSON в Python / Töö failide ja JSON-iga Pythonis
Открытие и закрытие файлов / Failide avamine ja sulgemine
# Открытие файла в разных режимах / Faili avamine erinevatel režiimidel
file = open('example.txt', 'r') # Чтение ('r' - read) / Lugemine ('r' - read)
file = open('example.txt', 'w') # Запись ('w' - write, перезаписывает файл) / Kirjutamine ('w' - write, kirjutab faili üle)
file = open('example.txt', 'a') # Добавление ('a' - append, дописывает в конец) / Lisamine ('a' - append, lisab faili lõppu)
# Всегда закрывайте файл после работы / Sulgege fail alati pärast kasutamist
file.close()
Лучший способ работы с файлами – конструкция with / Parim viis failidega töötamiseks – with konstruktsioon
with open('example.txt', 'r') as file: # Avab faili lugemiseks ja sulgeb automaatselt
content = file.read() # Чтение всего файла / Kogu faili lugemine
Чтение и запись данных / Andmete lugemine ja kirjutamine
# Чтение файла в список строк / Faili lugemine ridade nimekirjana
def read_file_to_list(filename: str) -> list:
with open(filename, 'r', encoding='utf-8') as file:
return [line.strip() for line in file]
# Запись списка в файл / Nimekirja kirjutamine faili
def write_list_to_file(filename: str, data: list):
with open(filename, 'w', encoding='utf-8') as file:
for item in data:
file.write(f"{item}\n")
Удаление файлов / Failide kustutamine
import os
if os.path.isfile("old_file.txt"): # Kontrollib, kas fail eksisteerib
os.remove("old_file.txt") # Удаление файла / Faili kustutamine
Работа с JSON / JSON-iga töötamine
Основные операции с JSON / JSON-i põhitehted
import json
# Python → JSON строка / Python → JSON string
data = {"name": "Alice", "age": 30, "city": "New York"}
json_string = json.dumps(data, indent=2) # Красивое форматирование / Ilus vormindus
# Сохранение в файл / Salvestamine faili
with open("data.json", "w") as file:
json.dump(data, file, indent=2)
# Чтение из файла / Lugemine failist
with open("data.json", "r") as file:
loaded_data = json.load(file)
Пример: Контакты в телефонной книге / Näide: Kontaktid telefoniraamatus
import json
def save_contacts(contacts, filename="contacts.json"):
with open(filename, "w") as file:
json.dump(contacts, file, indent=2)
def load_contacts(filename="contacts.json"):
try:
with open(filename, "r") as file:
return json.load(file)
except FileNotFoundError:
return {}
# Использование / Kasutamine
phone_book = load_contacts()
phone_book["John"] = {"phone": "123456", "email": "john@example.com"}
save_contacts(phone_book)
Пример: Сохранение настроек программы / Näide: Programmi seadete salvestamine
import json
import os
class AppConfig:
def __init__(self, config_file="config.json"):
self.config_file = config_file
self.default_config = {
"theme": "light", # Тема / Kujundus
"language": "en", # Язык / Keel
"font_size": 12, # Размер шрифта / Fondi suurus
"recent_files": [] # Последние файлы / Viimati kasutatud failid
}
self.config = self.load_config()
def load_config(self):
if os.path.exists(self.config_file):
with open(self.config_file, "r") as file:
try:
return json.load(file)
except json.JSONDecodeError:
return self.default_config
return self.default_config
def save_config(self):
with open(self.config_file, "w") as file:
json.dump(self.config, file, indent=2)
def update_setting(self, key, value):
self.config[key] = value
self.save_config()
# Использование / Kasutamine
config = AppConfig()
config.update_setting("theme", "dark")
print(f"Current theme: {config.config['theme']}") # Текущая тема / Praegune kujundus
Заключение / Kokkuvõte
- Используйте
withдля безопасной работы с файлами / Kasutagewithfailide turvaliseks kasutamiseks - JSON идеален для хранения структурированных данных / JSON on ideaalne struktureeritud andmete salvestamiseks
- Всегда обрабатывайте возможные ошибки при работе с файлами / Alati töödelge võimalikke vigu failidega töötamisel
- Сохраняйте данные в удобочитаемом формате (используйте
indent) / Salvestage andmed loetavas vormingus (kasutageindent)

