os¶
Модуль os предоставляет множество функций для работы с операционной системой, причём их поведение, как правило, не зависит от ОС, поэтому программы остаются переносимыми. Здесь будут приведены наиболее часто используемые из них.
Будьте внимательны: некоторые функции из этого модуля поддерживаются не всеми ОС.
os.name- имя операционной системы. Доступные варианты:
posix,nt,mac,os2,ce,java. os.environ- словарь переменных окружения. Изменяемый (можно добавлять и удалять переменные окружения).
os.getlogin()- имя пользователя, вошедшего в терминал (Unix).
os.getpid()- текущий
idпроцесса. os.uname()- информация об ОС. возвращает объект с атрибутами:
sysname- имя операционной системы,nodename- имя машины в сети (определяется реализацией),release- релиз,version- версия,machine- идентификатор машины. os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)- проверка доступа к объекту у текущего пользователя. Флаги:
os.F_OK- объект существует,os.R_OK- доступен на чтение,os.W_OK- доступен на запись,os.X_OK- доступен на исполнение. os.chdir(path)- смена текущей директории.
os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)- смена прав доступа к объекту (
mode- восьмеричное число). os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True)- меняет
idвладельца и группы (Unix). os.getcwd()- текущая рабочая директория.
os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True)- создаёт жёсткую ссылку.
os.listdir(path=".")- список файлов и директорий в папке.
os.mkdir(path, mode=0o777, *, dir_fd=None)- создаёт директорию.
OSError, если директория существует. os.makedirs(path, mode=0o777, exist_ok=False)- создаёт директорию, создавая при этом промежуточные директории.
os.remove(path, *, dir_fd=None)- удаляет путь к файлу.
os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)- переименовывает файл или директорию из
srcвdst. os.renames(old, new)- переименовывает
oldвnew, создавая промежуточные директории. os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)- переименовывает из
srcвdstс принудительной заменой. os.rmdir(path, *, dir_fd=None)- удаляет пустую директорию.
os.removedirs(path)- удаляет директорию, затем пытается удалить родительские директории, и удаляет их рекурсивно, пока они пусты.
os.symlink(source, link_name, target_is_directory=False, *, dir_fd=None)- создаёт символическую ссылку на объект.
os.sync()- записывает все данные на диск (Unix).
os.truncate(path, length)- обрезает файл до длины
length. os.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True)- модификация времени последнего доступа и изменения файла. Либо
times- кортеж (время доступа в секундах, время изменения в секундах), либоns- кортеж (время доступа в наносекундах, время изменения в наносекундах). os.walk(top, topdown=True, onerror=None, followlinks=False)- генерация имён файлов в дереве каталогов, сверху вниз (если
topdownравенTrue), либо снизу вверх (еслиFalse). Для каждого каталога функцияwalkвозвращает кортеж (путь к каталогу, список каталогов, список файлов). os.system(command)- исполняет системную команду, возвращает код её завершения (в случае успеха
0). os.urandom(n)nслучайных байт. Возможно использование этой функции в криптографических целях.
os.path¶
os.path является вложенным модулем в модуль os, и реализует некоторые полезные функции для работы с путями.
os.path.abspath(path)- возвращает нормализованный абсолютный путь.
os.path.basename(path)- базовое имя пути (эквивалентно
os.path.split(path)[1]). os.path.commonprefix(list)- возвращает самый длинный префикс всех путей в списке.
os.path.dirname(path)- возвращает имя директории пути
path. os.path.exists(path)- возвращает
True, еслиpathуказывает на существующий путь или дескриптор открытого файла. os.path.expanduser(path)- заменяет
~или~userна домашнюю директорию пользователя. os.path.expandvars(path)- возвращает аргумент с подставленными переменными окружения (
$nameили${name}заменяются переменной окруженияname). Несуществующие имена не заменяет. На Windows также заменяет%name%. os.path.getatime(path)- время последнего доступа к файлу, в секундах.
os.path.getmtime(path)- время последнего изменения файла, в секундах.
os.path.getctime(path)- время создания файла (Windows), время последнего изменения файла (Unix).
os.path.getsize(path)- размер файла в байтах.
os.path.isabs(path)- является ли путь абсолютным.
os.path.isfile(path)- является ли путь файлом.
os.path.isdir(path)- является ли путь директорией.
os.path.islink(path)- является ли путь символической ссылкой.
os.path.ismount(path)- является ли путь точкой монтирования.
os.path.join(path1[, path2[, ...]])- соединяет пути с учётом особенностей операционной системы.
os.path.normcase(path)- нормализует регистр пути (на файловых системах, не учитывающих регистр, приводит путь к нижнему регистру).
os.path.normpath(path)- нормализует путь, убирая избыточные разделители и ссылки на предыдущие директории. На Windows преобразует прямые слеши в обратные.
os.path.realpath(path)- возвращает канонический путь, убирая все символические ссылки (если они поддерживаются).
os.path.relpath(path, start=None)- вычисляет путь относительно директории
start(по умолчанию - относительно текущей директории). os.path.samefile(path1, path2)- указывают ли
path1иpath2на один и тот же файл или директорию. os.path.sameopenfile(fp1, fp2)- указывают ли дескрипторы
fp1иfp2на один и тот же открытый файл. os.path.split(path)- разбивает путь на кортеж (голова, хвост), где хвост - последний компонент пути, а голова - всё остальное. Хвост никогда не начинается со слеша (если путь заканчивается слешем, то хвост пустой). Если слешей в пути нет, то пустой будет голова.
os.path.splitdrive(path)- разбивает путь на пару (привод, хвост).
os.path.splitext(path)- разбивает путь на пару (
root,ext), гдеextначинается с точки и содержит не более одной точки. os.path.supports_unicode_filenames- поддерживает ли файловая система Unicode.