Читай и записывай файлы аккуратно через with, обменивайся данными в JSON и организуй код в импортируемые модули.
Открыть этот урок в KodokonЧтение и запись файлов - хлеб насущный настоящей программы: экспорт, логи, конфигурации. Ключевое слово with открывает файл и гарантирует его закрытие, даже если посреди блока произойдёт ошибка. Это единственный профессиональный способ открыть файл: без него забытый close() может испортить данные или исчерпать системные ресурсы.
lines = ["alpha", "beta", "gamma"]
with open("notes.txt", "w", encoding="utf-8") as f:
for line in lines:
f.write(line + "\n")
with open("notes.txt", encoding="utf-8") as f:
content = f.read()
print(content)Для структурированных данных не выдумывай свой формат: модуль json из стандартной библиотеки превращает словари и списки в текст и обратно. Это универсальный формат обмена между программами, API и файлами конфигурации.
import json
config = {"debug": True, "retries": 3}
with open("config.json", "w", encoding="utf-8") as f:
json.dump(config, f, indent=2)
with open("config.json", encoding="utf-8") as f:
loaded = json.load(f)
print(loaded["retries"]) # 3Модуль - это просто файл .py: import billing загружает billing.py и выполняет его содержимое только один раз. Организуй код по зонам ответственности - один модуль для выставления счетов, другой для хранения данных - и держи инструкции import в начале файла. Проверка if __name__ == "__main__" различает две ситуации: при прямом запуске файл выполняет этот блок; при импорте - игнорирует его.
def compute_total(prices):
return round(sum(prices), 2)
def main():
print(compute_total([9.99, 4.5, 20.0]))
if __name__ == "__main__":
main()python billing.py