os

Модуль позволяет работать с файлами и папками.

Русские названия файлов и папок возвращаются и принимаются всеми функциями этого модуля в кодировке UTF-8, поэтому необходимо использовать функции для перекодирования строк - методы decode и encode.

Атрибуты модуля

os.name

название версии модуля, зависит от операционной системы

os.name
# 'nt' - windows xp
os.environ

Словарь переменных окружения

os.environ
"""
{
    'HOME': 'c:\\',
}
"""

Методы модуля

os.access(<путь>, <режим>)

проверка прав доступа к файлу или папке.

В параметре режим могут быть указаны следующие константы:

  • os.F_OK - проверка наличия пути
  • os.R_OK - проверка на возможность чтения
  • os.W_OK - проверка на возможность записи
  • os.X_OK - проверка на возможность выполнения
os.chdir(path)
Parameters:path (str) – путь к каталогу

Изменяет текущий рабочий каталог приложения на указанный

os.chmod(path, mode)

Изменяет права доступа файла.

import stat

os.chmod('file.txt', 0o777)
os.chmod('file.txt', stat.s_IRUSR)
os.chown(path, uid, gid)

Изменят владельца файла

Note

linux

os.chown('file.txt', 5, 22)
os.getcwd()

Возвращает рабочий путь приложения

os.getcwd()
# 'c:\\'
os.getenv(env_param_name)

Возвращает значение переменной окружения

os.getenv('HOME')
# 'c:\\'

Создает жесткую ссылку (linux)

os.link("path1/1.txt", "path2/1.txt")
os.listdir(path)

Возвращает список имен файлов и папок в указанной папке

>>> os.listdir('/home/ilnurgi/')
['.bashrc']
os.mkdir(path[, access=0o777])
Parameters:
  • path (str) – путь к каталогу
  • access – права доступа

Создает папку по указанному пути

os.makedirs(path)

Аналогичен функции .. py:method::’mkdir’, но автоматический создает промежуточные папки

os.remove(path)

Удаляет файл

Возбуждает исключение WindowsError, если файл удалить нельзя

os.remove("1.txt")
os.rmdir(path)
Parameters:path (str) – путь к каталогу

Удаляет папку по указанному пути

os.removedirs(path)

Аналогичен функции rmdir, но автоматический удаляет все родительские пустые папки

os.rename(src, dst)
  • src - исходный путь
  • dst - путь назначения

Переименовывает файл

Возбуждает исключение WindowsError - если файл не удалось найти или новый файл уже существует

os.rename("path1/1.txt", "path2/1.txt")

Создает символическую ссылку (linux)

os.symlink("path1/1.txt", "path2/1.txt")
os.stat(path)
Parameters:path (str) – путь к файлу

Возвращает состояние о файле, объект stat_result, который в зависимости от типа операционной системы содержит разные атрибуты.

os.tempname([path[, prefix]])

Возвращает уникальный путь для создания временных файлов.

Parameters:path – путь к файлу
Raises:WindowsError – если файл удалить не удалось

удаляет файл

os.utime(path[, (atime=now, mtime=now)])
Parameters:
  • path (str) – путь к файлу
  • atime (int) – время последнего доступа в секндах
Path int mtime:

время изменения в секундах

Raises:

WindowsError – если файл не найден

обновляет время последнего достпуа и время изменения

os.walk(path[, topdown=True][, onerror=None][, followlinks=False])
Parameters:
  • path (str) – путь к начальному каталогу
  • topdown (bool) – задает последовательность обхода каталогов

Возвращает итератор, на каждой итерации возвращает кортеж (текущий каталог, список каталогов и список файлов)

Методы для работы с файлами, файловыми дексрипторами

os.close(<дескриптор>)

закрывает файл

os.dup(<дескриптор>)

возвращает дубликат дескриптора

os.fdopen(<дескриптор>[, <режим>[, <размер буфера>]])

возвращает файловый объект по указанному дескриптору

os.lseek(<дескриптор>, <смещение>, <позиция>)

устанавливает указатель в позицию, имеюущий указанное смещение относительной указанной позиции

в параметре позици могут быть указаны следующие значения:

  • os.SEEK_SET или 0 - начало файла
  • os.SEEK_CUR или 1 - текущая позиция укзаталея
  • os.SEEK_END или 2 - конец файла
os.open(<путь к файлу>, <режим>[, mode=0o777])

Открывает файл и возвращает целочисленный дескриптор

В параметре <режим> в операционной системе windows могут быть указаны следующие флаги (или их комбинации через символ |):

  • os.O_RDONLY - чтение
  • os.O_WRONLY - запись
  • os.O_RDWR - чтение и запись
  • os.O_APPEND - добавление в конец файла
  • os.O_CREATE - создать файл, если он не существует
  • os.O_TRUNC - очистить содержимое файла
  • os.O_BINARY - файл будет открыт в бинарном режиме
  • os.O_TEXT - файл будет открыт в текстовом режиме
os.read(<дескриптор>, <количество байтов>)

читает из файла указанное количество байтов

os.write(<дескриптор>, <последовательность байтов>)

записывает последовательность байтов в файл