Главная страница

справочник по Python. мм isbn 9785932861578 9 785932 861578


Скачать 4.21 Mb.
Названиемм isbn 9785932861578 9 785932 861578
Анкорсправочник по Python
Дата08.05.2022
Размер4.21 Mb.
Формат файлаpdf
Имя файлаBizli_Python-Podrobnyy-spravochnik.440222.pdf
ТипСправочник
#518195
страница41 из 82
1   ...   37   38   39   40   41   42   43   44   ...   82
Описание
O_RDONLY
Открыть файл для чтения.
O_WRONLY
Открыть файл для записи.
O_RDWR
Открыть файл для чтения и записи (для изменения).
O_APPEND
Открыть файл для добавления в конец.
O_CREAT
Создать файл, если он не существует.
O_NONBLOCK
Установить неблокирующий режим выполнения операций создания, чтения и записи (UNIX).
O_NDELAY
То же, что и O_NONBLOCK (UNIX).
O_DSYNC
Установить режим синхронной записи (UNIX).
O_NOCTTY
При открытии устройства не назначать его управляющим терминалом (UNIX).
O_TRUNC
Если файл существует, усечь его длину до нуля.
O_RSYNC
Установить режим синхронного чтения (UNIX).
O_SYNC
Установить режим синхронной записи (UNIX).
O_EXCL
Сообщать об ошибке, если файл существует и установлен флаг O_CREAT.
O_EXLOCK
Установить исключительную блокировку на файл.
O_SHLOCK
Установить разделяемую блокировку на файл.
O_ASYNC
Установить асинхронный режим ввода, когда при появлении входных данных генерируется сигнал SIGIO.

482
Глава 19. Службы операционной системы
Значение
Описание
O_DIRECT
У
становить режим непосредственного ввода-вывода, когда операции чтения и записи выполняются непосредственно с диском, а не с системными буферами.
O_DIRECTORY
Возбудить исключение, если файл не является каталогом.
O_NOFOLLOW
Не следовать за символическими ссылками.
O_NOATIME
Не обновлять время последнего обращения к файлу.
O_TEXT
Установить текстовый режим (Windows).
O_BINARY
Установить двоичный режим (Windows).
O_NOINHERIT
Файл не должен наследоваться дочерними процессами.
O_SHORT_LIVED
Подсказать системе, что файл используется для сохранения данных на короткое время (Windows).
O_TEMPORARY
Удалить файл после закрытия (Windows).
O_RANDOM
Подсказать системе, что файл используется в режиме произ- вольного доступа (Windows).
O_SEQUENTIAL
Подсказать системе, что файл используется в режиме после- довательного доступа (Windows).
При использовании синхронных режимов (O_SYNC, O_DSYNC, O_RSYNC) опера- ции ввода-вывода принудительно блокируются, пока они фактически не будут завершены на аппаратном уровне (например, операция записи вер- нет управление вызывающей программе, только когда байты физически будут записаны на диск). В аргументе mode передается битная маска с раз- решениями, составленная из значений следующих восьмеричных значе- ний (которые объявлены как константы в модуле stat), объединенных би- товой операцией ИЛИ:
Режим
Описание
0100
Пользователь обладает правом на выполнение (stat.S_IXUSR).
0200
Пользователь обладает правом на запись (stat.S_IWUSR).
0400
Пользователь обладает правом на чтение (stat.S_IRUSR).
0700
Пользователь обладает правом на чтение/запись/выполнение
(stat.S_IRWXU).
0010
Группа обладает правом на выполнение (stat.S_IXGRP).
0020
Группа обладает правом на запись (stat.S_IWGRP).
0040
Группа обладает правом на чтение (stat.S_IRGRP).
0070
Группа обладает правом на чтение/запись/выполнение
(stat.S_IRWXG).
0001
Остальные обладают правом на выполнение (stat.S_IXOTH).
(продолжение)

Модуль os
483
Режим
Описание
0002
Остальные обладают правом на запись (stat.S_IWOTH).
0004
Остальные обладают правом на чтение (stat.S_IROTH).
0007
Остальные обладают правом на чтение/запись/выполнение
(stat.S_IRWXO).
4000
Установить режим UID (stat.S_ISUID).
2000
Установить режим GID (stat.S_ISGID).
1000
Установить бит закрепления (stat.S_ISVTX).
По умолчанию в аргументе mode передается значение 0777 & ˜umask, где пара- метр umask используется для удаления выбранных разрешений. Например, значение 0022 в параметре umask приведет к удалению разрешения на за- пись для группы и остальных. Изменить значение umask можно с помощью функции os.umask(). Настройка параметра umask не оказывает никакого эффекта в Windows.
openpty()
Открывает псевдотерминал и возвращает пару дескрипторов (master,slave) для устройств PTY и TTY. Доступна в некоторых версиях UNIX.
pipe()
Создает неименованный канал, который может использоваться для одно- направленного взаимодействия с другим процессом. Возвращает пару де- скрипторов (r, w), которые могут использоваться для чтения и записи соот- ветственно. Обычно эта функция вызывается непосредственно перед функ- эта функция вызывается непосредственно перед функ- эта функция вызывается непосредственно перед функ- функция вызывается непосредственно перед функ- функция вызывается непосредственно перед функ- вызывается непосредственно перед функ- вызывается непосредственно перед функ- непосредственно перед функ- непосредственно перед функ- перед функ- перед функ- функ- функ- цией fork(). После вызова fork() передающий процесс закрывает канал, от- крытый для чтения, а принимающий процесс закрывает канал, открытый на запись. С этого момента канал активируется и может использоваться для передачи данных от одного процесса другому с помощью функций write()
и read() (UNIX).
read(fd, n)
Читает до n байтов из дескриптора fd. Возвращает строку прочитанных байтов.
tcgetpgrp(fd)
Возвращает идентификатор группы процессов для управляющего терми- нала, заданного дескриптором fd (UNIX).
tcsetpgrp(fd, pg)
Устанавливает идентификатор группы процессов для управляющего тер- минала, заданного дескриптором fd (UNIX).
ttyname(fd)
Возвращает строку с именем файла устройства терминала, на который ссылается дескриптор fd. Если дескриптор fd не связан с устройством тер- минала, возбуждается исключение OSError (UNIX).

484
Глава 19. Службы операционной системы
write(fd, str)
Записывает строку байтов str в файл с дескриптором fd. Возвращает коли- чество байтов, которые фактически были записаны.
Файлы и каталоги
Следующие функции и переменные используются при работе с файлами и каталогами в файловой системе. Чтобы обойти различия в схемах имено- вания файлов, можно использовать следующие переменные, содержащие информацию об устройстве имен в файловой системе:
Переменная
Описание
altsep
Альтернативный символ, используемый операционной системой для отделения элементов пути в файловой системе или None, если существует только один символ-разделитель. В DOS и Windows эта переменная имеет значение ‘/’, где переменная sep содержит символ обратного слэша.
curdir
Строка, используемая для ссылки на текущий рабочий каталог:
‘.’
– в UNIX и Windows, и ‘:’ – в Macintosh.
devnul
Путь к пустому устройству (например, /dev/null).
extsep
Символ, отделяющий основное имя файла от расширения (напри- мер, символ ‘.’ в имени ‘foo.txt’).
pardir
Строка, используемая для ссылки на родительский каталог: ‘..’ – в UNIX и Windows, и ‘::’ – в Macintosh.
pathsep
Символ, используемый для отделения компонентов пути поиска
(например, в переменной окружения $PATH): ‘:’ – в UNIX, ‘;’ – в DOS и Windows.
sep
Символ, используемый для отделения элементов пути в файловой системе: ‘/’ – в UNIX и Windows, и ‘:’ в Macintosh.
Для работы с файлами используются следующие функции:
access(path, accessmode)
Проверяет разрешения для данного процесса на чтение/запись/выполне- разрешения для данного процесса на чтение/запись/выполне- разрешения для данного процесса на чтение/запись/выполне- для данного процесса на чтение/запись/выполне- для данного процесса на чтение/запись/выполне- данного процесса на чтение/запись/выполне- данного процесса на чтение/запись/выполне- процесса на чтение/запись/выполне- процесса на чтение/запись/выполне- на чтение/запись/выполне- на чтение/запись/выполне- чтение/запись/выполне- чтение/запись/выполне-
/запись/выполне- запись/выполне-
/выполне- выполне- ние файла path. В аргументе accessmode передается значение R_OK, W_OK, X_OK или F_OK для проверки разрешения на чтение, запись, выполнение или про- верки на существование соответственно. Возвращает 1, если разрешение имеется, 0 – если нет.
chflags(path, flags)
Изменяет флаги для файла path. В аргументе flags передается битная маска, составленная из значений констант, перечисленных ниже, объединенных битовой операцией ИЛИ. Флаги, имена которых начинаются с UF_, могут устанавливаться любым пользователем, тогда как флаги, имена которых начинаются с SF_, могут изменяться только суперпользователем (UNIX).

Модуль os
485
Флаг
Описание
stat.UF_NODUMP
Н
е включать файл в вывод.
stat.UF_IMMUTABLE
Файл доступен только для чтения.
stat.UF_APPEND
Файл поддерживает только операцию добавления в конец.
stat.UF_OPAQUE
Каталог непрозрачен.
stat.UF_NOUNLINK
Файл не может быть удален или переименован.
stat.SF_ARCHIVED
Файл может быть архивирован.
stat.SF_IMMUTABLE
Файл доступен только для чтения.
stat.SF_APPEND
Файл поддерживает только операцию добавления в конец.
stat.SF_NOUNLINK
Файл не может быть удален или переименован.
stat.SF_SNAPSHOT
Файл является файлом мгновенного снимка.
chmod(path, mode)
Изменяет режим доступа к файлу path. Аргумент mode может принимать те же значения, что и в функции open(), описанной выше (UNIX и Windows).
chown(path, uid, gid)
Изменяет идентификатор владельца и группы для файла path в соответ- ствии с числовыми значениями uid и gid. Чтобы сохранить один из иденти- фикаторов неизменным, в соответствующем аргументе uid или gid можно передать значение -1 (UNIX).
lchflags(path, flags)
То же, что и chflags(), но не следует по символическим ссылкам (UNIX).
lchmod(path, mode)
То же, что и chflags(), за исключением того, что если файл path является символической ссылкой, изменения будут затрагивать саму ссылку, а не файл, на который она ссылается.
lchown(path, uid, gid)
То же, что и chown(), но не следует по символическим ссылкам (UNIX).
link(src, dst)
Создает жесткую ссылку с именем dst, указывающую на файл src (UNIX).
listdir(path)
Возвращает список с именами элементов каталога path. Элементы могут следовать в списке в произвольном порядке, и в их число не включаются специальные элементы ‘.’ и ‘..’. Если в аргументе path передается строка
Юникода, возвращаемый список будет содержать только строки Юникода.
Имейте в виду, что если имя какого-либо файла в каталоге не сможет быть преобразовано в Юникод, оно будет просто пропущено. Если в аргументе
path
передается строка байтов, то все имена в списке будут представлены строками байтов.

486
Глава 19. Службы операционной системы
lstat(path)
Напоминает функцию stat(), но не следует по символическим ссылкам
(UNIX).
makedev(major, minor)
Создает номер устройства, где аргументы major и minor определяют старший и младший номер устройства соответственно (UNIX).
major(devicenum)
Возвращает старший номер устройства для номера устройства devicenum, созданным вызовом функции makedev().
minor(devicenum)
Возвращает младший номер устройства для номера устройства devicenum, созданным вызовом функции makedev().
makedirs(path [, mode])
Функция рекурсивного создания каталога. Напоминает функцию mkdir(), но создает все промежуточные каталоги, содержащие конечный каталог.
Если конечный каталог в пути path уже существует или не может быть соз- дан, возбуждает исключение OSError.
mkdir(path [, mode])
Создает каталог path с флагами режима mode. По умолчанию аргумент mode принимает значение 0777. В системах, отличных от UNIX, аргумент mode может не учитываться или игнорироваться.
mkfifo(path [, mode])
Создает очередь FIFO (именованный канал) с именем path и с флагами ре- жима mode. По умолчанию аргумент mode принимает значение 0666 (UNIX).
mknod(path [, mode, device])
Создает файл устройства. В аргументе path передается имя файла, аргу- мент mode определяет права доступа и тип файла, а аргумент device – номер устройства, созданный с помощью функции os.makedev(). Аргумент mode может принимать те же значения, что и в функции open(), определяющие права доступа к файлу. Кроме того, для определения типа файла в аргумент
mode
добавляются флаги stat.S_IFREG, stat.S_IFCHR, stat.S_IFBLK и stat.S_IFIFO
(UNIX).
pathconf(path, name)
Возвращает значения системных параметров настройки, имеющих отно- шение к имени path. В аргументе name передается строка с именем требуемо- го параметра. Имена доступных параметров были перечислены в описании функции fpathconf() (UNIX).
readlink(path)
Возвращает строку, содержащую путь, на который указывает символиче- ская ссылка path (UNIX).

Модуль os
487
remove(path)
У
даляет файл path. Идентична функции unlink().
removedirs(path)
Функция рекурсивного удаления каталогов. Действует так же, как функ- ция rmdir(), за исключением того, что в случае успешного удаления конеч- ного каталога она последовательно начнет удалять каталоги в пути path, начиная с самого правого, пока не будут удалены все указанные каталоги либо пока не будет встречена ошибка (которая игнорируется, потому что обычно появление ошибки означает, что родительский каталог не пуст).
Если конечный каталог в пути path не может быть удален, возбуждает ис- ключение OSError.
rename(src, dst)
Переименовывает файл или каталог src в dst.
renames(old, new)
Выполняет рекурсивное переименование каталогов или файлов. Действует так же, как функция rename(), за исключением того, что сначала пытает- ся создать все промежуточные каталоги в пути new. После переименования она последовательно удаляет каталоги в пути old, начиная с самого право- го, с помощью функции removedirs().
rmdir(path)
Удаляет каталог path.
stat(path)
Выполняет системный вызов stat() для файла с именем path, чтобы полу- чить информацию о нем. Возвращает объект, атрибуты которого содержат информацию о файле. Ниже перечислены наиболее типичные атрибуты:
Атрибут
Описание
st_mode
Режим доступа.
st_ino
Номер индексного узла (inode).
st_dev
Номер устройства, где располагается индексный узел.
st_nlink
Количество ссылок на индексный узел.
st_uid
Идентификатор пользователя, которому принадлежит файл.
st_gid
Идентификатор группы, которой принадлежит файл.
st_size
Размер файла в байтах.
st_atime
Время последнего обращения к файлу.
st_mtime
Время последнего изменения файла.
st_ctime
Время последнего изменения информации о состоянии файла.
В зависимости от типа операционной системы этот объект может содер- жать дополнительные атрибуты. Объект, возвращаемый функцией stat(),

488
Глава 19. Службы операционной системы может также рассматриваться как кортеж из 10 элементов (st_mode, st_ino,
st_dev, st_nlink, st_uid, st_gid, st_size, st_atime, st_mtime, st_ctime)
. По-
По- следняя форма представления объекта предоставляется для сохранения обратной совместимости. Модуль stat определяет константы, которые мо- гут использоваться для получения значений полей в этом кортеже.
stat_float_times([newvalue])
Возвращает True, если значения времени, возвращаемые функцией stat(), являются не целыми числами, а числами с плавающей точкой. Поведе- ние функции можно изменить, передав логическое значение в аргументе
newvalue
statvfs(path)
Производит системный вызов statvfs() для указанного пути path, чтобы получить информацию о файловой системе. Возвращает объект, атрибуты которого содержат информацию о файловой системе. Ниже перечислены наиболее типичные атрибуты:
Атрибут
Описание
f_bsize
Рекомендуемый размер блока f_frsize
Базовый размер блока f_blocks
Общее количество блоков в файловой системе f_bfree
Общее количество свободных блоков f_bavail
Количество свободных блоков, доступных обычному пользователю f_files
Общее количество индексных узлов f_ffree
Общее количество свободных индексных узлов f_favail
Количество свободных индексных узлов, доступных обычному пользователю f_flag
Флаги (в зависимости от системы)
f_namemax
Максимальная длина имени файла
Возвращаемый объект может вести себя, как кортеж, содержащий значе- объект может вести себя, как кортеж, содержащий значе- объект может вести себя, как кортеж, содержащий значе- может вести себя, как кортеж, содержащий значе- может вести себя, как кортеж, содержащий значе- вести себя, как кортеж, содержащий значе- вести себя, как кортеж, содержащий значе- себя, как кортеж, содержащий значе- себя, как кортеж, содержащий значе-
, как кортеж, содержащий значе- как кортеж, содержащий значе- кортеж, содержащий значе- кортеж, содержащий значе-
, содержащий значе- содержащий значе- значе- значе- ния этих атрибутов в указанном порядке. Стандартный модуль statvfs объ- являет константы, которые могут использоваться для извлечения инфор- мации из этого кортежа (UNIX).
1   ...   37   38   39   40   41   42   43   44   ...   82


написать администратору сайта