Введение

Файловая система — компонент операционной системы, обеспечивающий организацию создания, хранения и доступа к именованным наборам данных. Эти именованные наборы данных называются файлами

Доступ к файлам в Python

Когда программе нужно сохранить данные для дальнейшего использования, она пишет эти данные в файл. Позднее их можно прочитать из файла.

Данные, записанные в файл, остаются доступными после окончания работы программы.

Процесс сохранения данных в файле — запись данных в файл. Когда часть данных пишется в файл, она копируется из переменной, находящейся в ОЗУ (оперативной памяти компьютера), в файл. Файл, в который данные сохраняются, называется файлом вывода.

Процесс извлечения данных из файлов чтение данных из файла. Когда порция данных считывается из файла, она копируется из файла в ОЗУ, где на неё ссылается переменная. Такой файл называется файлом ввода — из него извлекаются входные данные.

При работе с файлами, всегда выполняется три шага:

  1. Открыть файл — создается связь между файлом и программой — открытие потока

  2. Обработать файл — данные записываются в файл, либо считываются из файла

  3. Закрыть файл — разрыв связи между файлом и программой — закрытие потока

Как это устроено — более подробно:

  • При работе с файлом, находящимся на диске компьютера, программа создаёт файловый объект — программный объект, который связан с определенным файлом и предоставляет программе методы для работы с этим файлом.

  • В программе на файловый объект ссылается переменная. Она используется для осуществления любых операций, которые выполняются с файлом.

Имена файлов. Пути — абсолютный и относительный

Файлы определяются при помощи имени. После точки в имени идёт расширение файла — его тип. Благодаря расширению операционная система понимает, как нужно работать с этим файлом.

sometext.txt
document.docx
cat.jpg

Полный или абсолютный путь — это путь, который указывает на одно и то же место в файловой системе, вне зависимости от текущего рабочего каталога или других обстоятельств.

Полный путь всегда начинается с корневого каталога. Относительный путь представляет собой путь по отношению к текущему рабочему каталогу пользователя

  • Абсолютный путь в Windows

C:\Work\Media\article.txt 
  • Абсолютный путь в UNIX-подобных системах (MacOS, Linux)

/Work/Media/article.txt
/Users/mike/Documents/Notes/index.html
/Users/mike/Documents/Notes/style.css
/Users/mike/Documents/Notes/script.js
  • Относительные пути. Мы указываем их, когда все файла лежат в одной директории и нам нужно получить доступ из неё.

index.html
style.css
script.js
  • Если нужно подняться на шаг выше — ../data.json

  • Подняться и зайти в папку Documents , где расположен нужный файл: ../Documents/test.txt

Когда какой путь использовать

Общее правило будет такое: если вы работаете со своими файлами, лучше указывать относительный путь, а если нужен чужой файл из интернета — то абсолютный.

Методы доступа к файлам

  1. Последовательный доступ — последовательное обращение к данным, с самого начала файла и до его конца. Перескочить непосредственно к нужным данным не получится. Пример: текстовые файлы

  2. Прямой (произвольный) доступ — можно непосредственно перескочить к любой порции данных в файле, не читая данные, которые идут перед ней. Это подобно тому, как работает проигрыватель компакт-дисков или MP3-плеер

Мы будем рассматривать файлы с последовательным доступом

Last updated