Рубрики
Без рубрики

Как создавать, перемещать и удалять файлы в Python

Автор оригинала: Guest Contributor.

Вступление

Обработка файлов-это начальный и фундаментальный навык для любого программиста. Они очень часто используются для хранения данных приложений, пользовательских конфигураций, видео, изображений и т. Д. Существует бесчисленное множество вариантов использования файлов в программных приложениях, поэтому вам будет разумно глубоко ознакомиться с задачами манипулирования файлами. Эти задачи могут включать (среди прочих) создание, удаление и перемещение файлов.

В этой статье мы рассмотрим процесс работы с файлами с использованием языка программирования Python. Встроенные методы, которые он предлагает, позволяют очень легко обрабатывать файлы, используя относительно небольшой объем кода. Как и в любом программировании, есть много способов достичь той же цели, когда речь заходит о файлах, но в этой статье мы будем придерживаться основ и покажем наиболее распространенные способы выполнения этих действий.

Создание файлов в Python

Режимы открытия файлов

Существуют режимы, в которых вы можете открыть файл на Python. Выбранный вами режим зависит от того, как вы планируете использовать файл или какие данные вы будете читать (записывать) из (в) файла. Этот режим задается при открытии файла с помощью встроенного метода open () , более подробно описанного в следующем разделе.

Давайте рассмотрим некоторые из возможных комбинаций файловых режимов:

  • w : Открывает файл для записи и создает новый файл, если он еще не существует. В том случае, если файл действительно существует, он перезаписывает его.
  • w+ : Открывает файл для записи, но также и для чтения и создания, если он не существует. Если файл уже существует, он перезаписывает его.
  • r : Открывает файл только для чтения.
  • rb : Открывает файл для чтения в двоичном формате.
  • wb : Открывает файл для записи в двоичном формате.
  • wb+ : Открывает файл для записи и чтения в двоичном формате.
  • a : Открывает файл для добавления в конце файла.
  • + : + : В общем случае этот символ используется рядом с r , w или a

Если режим файла не указан, то по умолчанию будет принят r .

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

открывать()

Как и почти все в Python, выполнение многих задач, связанных с файлами, очень просто. Например, создание файла в Python может быть сделано в одной строке кода:

myFile = open("new.txt", "w+")

В приведенном выше примере мы открыли файл, “new.txt-для чтения и письма. В нашем случае, поскольку файл еще не существует, он создается автоматически.

Метод open() принимает много аргументов, хотя в большинстве случаев вы будете использовать только эти два:

  • filename – Обязательное поле для указания имени файла, который мы хотим открыть/создать. В нашем примере ” new.txt”
  • mode – Необязательный аргумент для указания режима открытия файла, в нашем примере “w+”

Вы можете опустить второй аргумент, и в этом случае он будет принят Python как r .

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

закрывать()

Когда вы открываете файл, вам всегда нужно убедиться, что вы также закрываете его. Это можно сделать с помощью метода close() объекта file или открыть его с помощью ключевого слова with , предоставляемого Python, которое автоматически закрывает его, когда он выходит из области видимости. После закрытия файла он больше не будет доступен для чтения или записи в вашем коде, если вы не откроете его обратно.

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

Если файл уже закрыт, повторный вызов функции close() на него никак не повлияет:

myFile.close()
myFile.close() # Doesn't affect the file

Перемещение файлов в Python

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

import os
import shutil

# Move a file by renaming it's path
os.rename('/Users/billy/d1/xfile.txt', '/Users/billy/d2/xfile.txt')

# Move a file from the directory d1 to d2
shutil.move('/Users/billy/d1/xfile.txt', '/Users/billy/d2/xfile.txt')

Имейте в виду, что каталог назначения должен существовать для того, чтобы этот пример работал. После того как вы настроили каталоги “d1” и “d2” (или просто изменили пример, чтобы он соответствовал вашей структуре каталогов), запустите код. Теперь проверьте каталог “d2”, и вы должны увидеть xfile.txt если его нет в этом каталоге.

Довольно просто, правда?

Удаление файлов в Python

Как вы, наверное, догадались, довольно легко удалить файл в Python с помощью метода remove() из модуля os .

В нашем примере ниже мы удалим “xfile.txt”. Все, что нам нужно сделать, это вызвать метод remove() с указанием пути к файлу, который мы хотим удалить:

import os

# Delete xfile.txt
os.remove('/Users/billy/d2/xfile.txt')

Теперь снова проверьте каталог “d2” и файл xfile.txt теперь будет сделано. Вот так просто!

Вывод

В этой статье мы показали очень простые примеры того, как создавать, перемещать и удалять файлы в Python с помощью встроенных функций, таких как open() , shutil.move () и os.remove() . Кроме того, мы представили простое введение и объяснение файловых режимов Python.