Python. Работа с файлами

Для того, чтобы открыть файл, в Python предусмотрена команда «open». Она может открывать как бинарные, так и текстовые файлы. У нее два параметра: имя файла и режим открытия. Например:

откроет файл с именем “text.txt” для чтения.

Существуют следующие режимы открытия файла:

·        На чтение “r”

·        На запись “w”. Если файл существует, он будет перезаписан.

·        На запись нового файла “x”. Если файл уже есть, выскочит исключение.

·        На дозапись “a”. Информация будет добавлена в конец файла.

·        В двоичном режиме “b”.

·        В текстовом режиме “t”.

·        На чтение и запись “+”.

Режимы можно комбинировать, например, если вы хотите открыть бинарник на чтение, то нужно использовать “rb”. Если вы хотите открыть текстовый файл, то “t” можно опустить, это является режимом по умолчанию.

Примеры работы с текстовым файлом вы можете посмотреть в цикле уроков «Взлом шифров»:

·        http://wiki.programstore.ru/python-vzlom-shifrov/

·        http://wiki.programstore.ru/python-vzlom-shifrov-prodolzhenie/

·        http://wiki.programstore.ru/python-vzlom-shifrov-prodolzhenie-2/

 

Теперь разберем еще примеры.

Чтение списка файлов из каталога с заданными расширениями и поиск в них заданной строки:

Здесь для чтения списка файлов в каталоге используем модуль «os», его же и для распарсивания имени файла на расширение и собственно имя. Результат работ что-то вроде того:

В файле 1.html найдена строка body

 

Теперь попробуем сохранить в файле данные в json-формате:

Как прочитать? Вот так:

Если открыть этот файл, то мы увидим нечто вот такое:

[2, 3, 5, 7, 11, 13]

А если попробовать записать более сложную структуру:

То и сам получены файл будет больше похож на истинный JSON:

{«numbers»: [2, 3, 5, 7, 11, 13], «proba»: 1, «dictionary»: {«proba1»: 1, «probs2»: 2, «proba3»: {«proba4»: [1, 2], «proba5»: 5}, «proba6»: 4}}

 

Ну и напоследок, сериализация в бинарные файлы:

А прочитать можно вот так:

 

 

 

 

 

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar