Выше мы уже обсуждали режимы открытия выходных файлов для FTP, но теперь, когда мы начинаем рассматривать возможность передачи текстовых файлов, я могу довести это обсуждение до конца. Для обработки кодировок и сохранения символов конца строки в соответствии с особенностями платформы, где находятся мои веб-файлы, этот сценарий по-разному выполняет передачу текстовых и двоичных файлов. Для выбора между текстовым и двоичным режимом передачи каждого файла он использует стандартный модуль mimetypes. Мы уже встречались с модулем mimetypes в главе 6, в примере 6.23, где он использовался для реализации проигрывания медиафайлов (за пояснениями обращайтесь к тексту примера и описанию к нему). Здесь модуль mimetypes используется для выбора между текстовым и двоичным режимами передачи файла, исходя из расширения его имени. Например, веб-страницы HTML и простые текстовые файлы передаются в текстовом режиме с автоматическим отображением символов конца строки, а изображения и архивы передаются в двоичном режиме.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, II том, 2011