Методы файлов/каталогов Python3 OS
osМодуль — важный модуль в стандартной библиотеке Python, предоставляющий функции для взаимодействия с операционной системой.
Черезosс помощью модуля вы можете выполнять такие задачи, как файловые операции, операции с каталогами, управление переменными среды и управление процессами.
osМодуль является кросс-платформенным, что означает, что вы можете использовать один и тот же код в разных операционных системах (таких как Windows, Linux, macOS).
Перед использованиемosмодуля, его нужно сначала импортировать. ImportosКод модуля выглядит следующим образом:
import os
Общие функции модуля os
1. Получить текущий рабочий каталог
os.getcwd()Функция используется для получения пути текущего рабочего каталога. Текущий рабочий каталог — это каталог, в котором выполняется Python-скрипт.
Пример
print("Текущий рабочий каталог:", current_directory)
2. Изменить текущий рабочий каталог
os.chdir(path)Функция используется для изменения текущего рабочего каталога.path— это путь к каталогу, в который вы хотите переключиться.
Пример
print("Новый рабочий каталог:", os.getcwd())
3. Список содержимого каталога
os.listdir(path)Функция используется для вывода списка всех файлов и подкаталогов в указанном каталоге. Если не указанpathпараметр, она по умолчанию выводит содержимое текущего рабочего каталога.
Пример
print("Содержимое каталога:", files_and_dirs)
4. Создание каталога
os.mkdir(path)Функция используется для создания нового каталога. Если каталог уже существует, она вызовет исключениеFileExistsErrorисключение.
Пример
5. Удаление каталога
os.rmdir(path)Функция используется для удаления пустого каталога. Если каталог не пуст, она вызовет исключениеOSErrorисключение.
Пример
6. Удаление файла
os.remove(path)Функция используется для удаления файла. Если файл не существует, она вызовет исключениеFileNotFoundErrorисключение.
Пример
7. Переименовать файл или каталог
os.rename(src, dst)Функция используется для переименования файла или каталога.srcявляется исходным путём,dstявляется новым путём.
Пример
8. Получить переменную среды
os.getenv(key)Функция используется для получения значения указанной переменной среды. Если переменная среды не существует, она возвращаетNone。
Пример
print("HOME directory:", home_directory)
9. Выполнить системные команды
os.system(command)Функция используется для выполнения команд в оболочке операционной системы. После выполнения команды она возвращает статус завершения команды.
Пример
Общие методы os
osМодуль предоставляет очень богатый набор методов для работы с файлами и каталогами. Часто используемые методы показаны в следующей таблице:
| Нет. | Метод и описание |
|---|---|
| 1 | Проверить режим разрешений |
| 2 | Изменить текущий рабочий каталог |
| 3 | Установить флаги пути в числовые флаги. |
| 4 | Изменить права доступа |
| 5 | Изменить владельца файла |
| 6 | Изменить корневой каталог текущего процесса |
| 7 | Закрыть файловый дескриптор fd |
| 8 | os.closerange(fd_low, fd_high) Закрыть все файловые дескрипторы, от fd_low (включительно) до fd_high (исключительно), ошибки игнорируются |
| 9 | Копировать файловый дескриптор fd |
| 10 | Копировать файловый дескриптор fd в другой fd2 |
| 11 | Изменить текущий рабочий каталог через файловый дескриптор |
| 12 | Изменить права доступа к файлу, указанному параметром fd. Параметр mode — это права доступа к файлу в Unix. |
| 13 | Изменить владение файлом. Эта функция изменяет идентификатор пользователя и идентификатор группы пользователя файла, который указан файловым дескриптором fd. |
| 14 | Принудительно записать на диск файл, заданный файловым дескриптором fd, но не принудительно обновлять информацию о состоянии файла. |
| 15 | os.fdopen(fd[, mode[, bufsize]]) Создать файловый объект из файлового дескриптора fd и вернуть этот файловый объект |
| 16 | Возвращает информацию о системной конфигурации открытого файла. name — это значение системной конфигурации, которое нужно получить. Оно может быть строкой, определяющей системное значение. Эти имена заданы во многих стандартах (POSIX.1, Unix 95, Unix 98 и других). |
| 17 | Возвращает состояние файлового дескриптора fd, подобно stat(). |
| 18 | Возвращает информацию о файловой системе для файла, содержащего файловый дескриптор fd. В Python 3.3 эквивалентно statvfs(). |
| 19 | Принудительно записать файл с файловым дескриптором fd на жесткий диск. |
| 20 | Усечь файл, соответствующий файловому дескриптору fd, чтобы он не превышал размер файла. |
| 21 | Возвращает текущий рабочий каталог |
| 22 | Возвращает объект Unicode текущего рабочего каталога |
| 23 | Если файловый дескриптор fd открыт и подключён к tty(-подобному) устройству, возвращает true, иначе False. |
| 24 | Установить флаги пути в числовые флаги, аналогично chflags(), но без символических ссылок. |
| 25 | Изменить права доступа к файлу ссылки |
| 26 | Изменить владельца файла, аналогично chown, но без перехода по ссылкам. |
| 27 | Создаёт жёсткую ссылку с именем параметра dst, указывающую на параметр src |
| 28 | Вернуть список имен файлов или папок, содержащихся в папке, указанной в path. |
| 29 | Установить текущую позицию файлового дескриптора fd в pos. Параметр how определяет: SEEK_SET или 0 устанавливает pos, отсчитываемую от начала файла; SEEK_CUR или 1 отсчитывает от текущей позиции; os.SEEK_END или 2 отсчитывает от конца файла. Работает в Unix и Windows. |
| 30 | Аналогично stat(), но без символических ссылок |
| 31 | Извлечь старший номер устройства из необработанного номера устройства (используя поле st_dev или st_rdev в stat). |
| 32 | Составить необработанный номер устройства из старшего и младшего номеров устройства. |
| 33 | Функция рекурсивного создания папок. Работает как mkdir(), но создаёт все промежуточные папки, необходимые для размещения вложенных папок. |
| 34 | Извлечь младший номер устройства из необработанного номера устройства (используя поле st_dev или st_rdev в stat). |
| 35 | Создать папку с именем path и числовым режимом. Режим по умолчанию — 0777 (восьмеричный). |
| 36 | Создать именованный канал. mode — числовой, по умолчанию 0666 (восьмеричный) |
| 37 | os.mknod(filename[, mode=0600, device]) |
| 38 | Открыть файл и установить требуемые параметры открытия. Параметр mode необязателен. |
| 39 | Открыть новую пару псевдотерминалов. Вернуть файловые дескрипторы pty и tty. |
| 40 | Вернуть информацию о системной конфигурации соответствующего файла. |
| 41 | Создать канал. Вернуть пару файловых дескрипторов (r, w) для чтения и записи соответственно. |
| 42 | os.popen(command[, mode[, bufsize]]) Открыть канал от команды. |
| 43 | Прочитать не более n байтов из файлового дескриптора fd, вернуть строку, содержащую прочитанные байты. Если файл, соответствующий файловому дескриптору fd, достиг конца, вернуть пустую строку. |
| 44 | Вернуть файл, на который указывает символическая ссылка |
| 45 | Удаляет файл, путь которого задан в path. Если path — это папка, будет возбуждено исключение OSError; см. rmdir() ниже, чтобы удалить каталог. |
| 46 | Рекурсивно удаляет каталоги. |
| 47 | Переименовывает файл или каталог из src в dst |
| 48 | Рекурсивно переименовывает каталоги и может также переименовывать файлы. |
| 49 | Удаляет пустой каталог, указанный в path. Если каталог не пуст, возбуждается исключение OSError. |
| 50 | Получает информацию о пути, указанном в path. Её действие эквивалентно системному вызову stat() в C API. |
| 51 | os.stat_float_times([newvalue]) |
| 52 | Получает статистическую информацию о файловой системе указанного пути. |
| 53 | Создаёт символическую ссылку |
| 54 | Возвращает группу процессов, связанную с терминалом fd (открытым файловым дескриптором, возвращённым os.open()). |
| 55 | Устанавливает группу процессов, связанную с терминалом fd (открытым файловым дескриптором, возвращённым os.open()), в pg. |
| 56 | os.tempnam([dir[, prefix]]) Удалено в Python3.Возвращает уникальное имя пути для создания временного файла. |
| 57 | os.tmpfile() Удалено в Python3.Возвращает файловый объект, открытый в режиме (w+b). Этот файловый объект не имеет записи в каталоге, не имеет файлового дескриптора и будет автоматически удалён. |
| 58 | os.tmpnam() Удалено в Python3.Возвращает уникальный путь для создания временного файла. |
| 59 | Возвращает строку, представляющую терминальное устройство, связанное с файловым дескриптором fd. Если fd не связан с терминальным устройством, возбуждается исключение. |
| 60 | Удаляет путь к файлу. |
| 61 | Возвращает время доступа и изменения файла по указанному пути. |
| 62 | os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]]) Выводит имена файлов в каталоге, обходя дерево вверх или вниз. |
| 63 | Записывает строку в файловый дескриптор fd. Возвращает фактическую длину записанной строки. |
| 64 | Получить информацию об атрибутах файла. |
| 65 | Возвращает родительский каталог текущего каталога, отображая имя каталога в виде строки. |
| 66 | Переименовывает файл или каталог. |
| 67 | Используется для открытия файла или папки в Windows. |