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

справочник по 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
страница42 из 82
1   ...   38   39   40   41   42   43   44   45   ...   82
symlink(src, dst)
Создает символическую ссылку с именем dst, которая указывает на src.
unlink(path)
Удаляет файл path. То же, что и функция remove().
utime(path, (atime, mtime))
Устанавливает время последнего обращения и время последнего измене- ния файла в соответствии с указанными значениями. (Во втором аргумен-
(Во втором аргумен-
Во втором аргумен- втором аргумен- втором аргумен- аргумен- аргумен-

Модуль os
489
те передается кортеж из двух элементов.) Значения времени указываются в том же виде, в каком они возвращаются функцией time.time().
walk(top [, topdown [, onerror [,followlinks]]])
Создает объект-генератор, который выполняет обход дерева каталогов. Ар- гумент top определяет самый верхний каталог. В аргументе topdown пере- дается логическое значение, определяющее направление обхода дерева каталогов – сверху вниз (по умолчанию) или снизу вверх. Возвращаемый генератор воспроизводит кортежи вида (dirpath, dirnames, filenames), где
dirpath
– строка, содержащая путь к каталогу, dirnames – список всех под- каталогов в каталоге dirpath и filenames – список файлов в каталоге dirpath, за исключением каталогов. В аргументе onerror передается функция, при- передается функция, при- функция, при- функция, при-
, при- при- нимающая единственный аргумент. Эта функция будет вызываться при появлении любых ошибок в процессе обхода, и ей будет передаваться эк- земпляр os.error. По умолчанию все ошибки игнорируются. Если обход ка- талога выполняется в направлении сверху вниз, изменения в списке ката- логов dirnames будут оказывать влияние на процесс обхода. Например, если из списка dirnames удалить какие-либо каталоги, они будут пропущены. По умолчанию генератор не следует по символическим ссылкам, если в аргу- менте followlinks не передать значение True.
Управление процессами
Следующие функции и переменные используются для создания, уничто- жения и управления процессами:
abort()
Генерирует сигнал SIGABRT, который отправляется вызывающему процес- су. Если сигнал не обрабатывается процессом, по умолчанию это приводит к завершению процесса с сообщением об ошибке.
defpath
Эта переменная содержит путь поиска по умолчанию, используемый функ- циями exec*p*(), когда окружение не содержит переменную ‘PATH’.
execl(path, arg0, arg1, ...)
Эквивалентна вызову функции execv(path, (arg0, arg1, ...)).
execle(path, arg0, arg1, ..., env)
Эквивалентна вызову функции execve(path, (arg0, arg1, ...), env).
execlp(path, arg0, arg1, ...)
Эквивалентна вызову функции execvp(path, (arg0, arg1, ...)).
execv(path, args)
Запускает программу path со списком аргументов args, замещая текущей процесс (то есть интерпретатор Python). Список аргументов может быть представлен кортежем или списком строк.
execve(path, args, env)
Запускает новую программу, как это делает функция execv(), но дополни- тельно принимает словарь env, определяющий окружение, в котором будет

490
Глава 19. Службы операционной системы выполняться программа. В аргументе env должен передаваться словарь, отображающий строки в строки.
execvp(path, args)
Похожа на функцию execv(path, args), но при этом повторяет поведение командной оболочки, отыскивая выполняемый файл в списке каталогов.
Список каталогов извлекается из словаря environ[‘PATH’].
execvpe(path, args, env)
Похожа на функцию execvp(), но дополнительно принимает словарь env, определяющий окружение процесса, как это делает функция execve().
_exit(n)
Немедленно завершает процесс с кодом завершения n, без выполнения за- ключительных операций. Обычно эта функция вызывается только в дочер- них процессах, созданных вызовом функции fork(). Вызов этой функции отличается от вызова sys.exit(), которая выполняет все необходимые за- ключительные операции. Значение кода завершения зависит от приложе- ния, но обычно значение 0 свидетельствует об успешном завершении, тогда как ненулевое значение указывает на то, что произошла какая-то ошибка.
В зависимости от типа операционной системы могут быть определены сле- дующие стандартные коды завершения:
Значение
Описание
EX_OK
Нет ошибки.
EX_USAGE
Неверная команда.
EX_DATAERR
Недопустимые входные данные.
EX_NOINPUT
Отсутствуют входные данные.
EX_NOUSER
Пользователь не существует.
EX_NOHOST
Хост не существует.
EX_NOTFOUND
Не найдено.
EX_UNAVAILABLE
Служба недоступна.
EX_SOFTWARE
Внутренняя ошибка программы.
EX_OSERR
Ошибка операционной системы.
EX_OSFILE
Ошибка файловой системы.
EX_CANTCREAT
Невозможно создать выходной файл.
EX_IOERR
Ошибка ввода-вывода.
EX_TEMPFAIL
Временная ошибка.
EX_PROTOCOL
Ошибка протокола.
EX_NOPERM
Недостаточно прав.
EX_CONFIG
Ошибка настройки.

Модуль os
491
fork()
Создает дочерний процесс. Возвращает 0 во вновь созданном дочернем про- цессе и идентификатор дочернего процесса – в оригинальном процессе. До- черний процесс является точной копией оригинального процесса, и ему доступны многие ресурсы родительского процесса, такие как открытые файлы (UNIX).
forkpty()
Создает дочерний процесс, использующий новый псевдотерминал в каче- стве управляющего терминала. Возвращает пару значений (pid, fd), где pid имеет значение 0 в дочернем процессе, а fd содержит дескриптор псевдо- терминала с ведущей стороны. Эта функция доступна только в некоторых версиях UNIX.
kill(pid, sig)
Посылает сигнал sig процессу pid. Перечень имен сигналов можно найти в модуле signal (UNIX).
killpg(pgid, sig)
Посылает сигнал sig группе процессов pgid. Перечень имен сигналов можно найти в модуле signal (UNIX).
nice(increment)
Добавляет значение increment к приоритету процесса. Возвращает новое значение приоритета. Обычно рядовые пользователи могут только пони- жать приоритет процесса, так как для повышения приоритета требуются привилегии пользователя root. Эффект от изменения приоритета зависит от типа операционной системы, но обычно понижение приоритета приме- няется к фоновым процессам, чтобы они не оказывали существенного вли- яния на производительность других процессов (UNIX).
plock(op)
Закрепляет сегменты программы в памяти, предотвращая их от вытесне- ния в файл подкачки. В аргументе op передается целое число, определя- ющее, какие сегменты должны быть закреплены. Допустимые значения аргумента op зависят от системы, но обычно в их число входят UNLOCK, PRO-
CLOCK
, TXTLOCK и DATLOCK. Эти константы не определены в языке Python, но их можно найти в заголовочном файле . Данная функция доступ-
Данная функция доступ- на не во всех платформах и зачастую может вызываться только процессом с действующим идентификатором пользователя 0 (root) (UNIX).
popen(command [, mode [, bufsize]])
Открывает канал к команде command или от нее. Возвращает открытый объ- или от нее. Возвращает открытый объ- от нее. Возвращает открытый объ- от нее. Возвращает открытый объ- нее. Возвращает открытый объ- нее. Возвращает открытый объ-
. Возвращает открытый объ-
Возвращает открытый объ- ект файла, подключенный к каналу, доступный для чтения или для запи- си, в зависимости от значения аргумента mode – ‘r’ (по умолчанию) или ‘w’.
Аргумент bufsize имеет тот же смысл, что и во встроенной функции open().
Код завершения команды command возвращается методом close() возвраща- емого объекта файла за исключением случая, когда код завершения равен нулю, – в этом случае возвращается None.

492
Глава 19. Службы операционной системы
spawnv(mode, path, args)
Запускает программу path в новом процессе и передает ей аргументы args в виде параметров командной строки. В аргументе args допускается переда- вать список или кортеж. Первый элемент в args должен быть именем файла программы. В аргументе mode передается одна из следующих констант:
Константа
Описание
P_WAIT
Запускает программу и ожидает ее завершения. Возвращает код завершения программы.
P_NOWAIT
Запускает программу и возвращает дескриптор процесса.
P_NOWAITO
То же, что и P_NOWAIT.
P_OVERLAY
Запускает программу и уничтожает вызывающий процесс
(действует как функция exec).
P_DETACH
Запускает программу и отсоединяется от нее. Вызывающая про- грамма продолжает работу, но она уже не может контролировать порожденный процесс.
Функция spawnv() доступна в Windows и в некоторых версиях UNIX.
spawnve(mode, path, args, env)
Запускает программу path в новом процессе, передает ей аргументы args в виде параметров командной строки и содержимое отображения env в виде окружения. В аргументе args допускается передавать список или кортеж.
Аргумент mode имеет тот же смысл, что и в функции spawnv().
spawnl(mode, path, arg1, ... , argn)
То же, что и spawnv(), за исключением того, что все параметры передаются в виде отдельных аргументов.
spawnle(mode, path, arg1, ... , argn, env)
То же, что и spawnve(), за исключением того, что все параметры передаются в виде отдельных аргументов. Последним аргументом предается отображе- ние с переменными окружения.
spawnlp(mode, file, arg1, ... , argn)
То же, что и spawnl(), но поиск выполняемого файла file выполняется с ис- пользованием переменной окружения PATH (UNIX).
spawnlpe(mode, file, arg1, ... , argn, env)
То же, что и spawnle(), но поиск выполняемого файла file выполняется с ис- пользованием переменной окружения PATH (UNIX).
spawnvp(mode, file, args)
То же, что и spawnv(), но поиск выполняемого файла file выполняется с ис- пользованием переменной окружения PATH (UNIX).
spawnvpe(mode, file, args, env)
То же, что и spawnve(), но поиск выполняемого файла file выполняется с ис- пользованием переменной окружения PATH (UNIX).

Модуль os
493
startfile(path [, operation])
Запускает приложение, определяемое аргументом path. Выполняет те же действия, которые обычно выполняются в результате двойного щелчка мышью на файле в Windows Explorer. Функция возвращает управление, как только приложение будет запущено. Кроме того, она не обеспечивает возможности дождаться завершения приложения или получить код его за- вершения. Путь в аргументе path определяет местоположение выполняемо- го файла относительно текущего каталога. В аргументе operation можно пе- редать строку, определяющую дополнительные действия, которые должны быть выполнены при открытии файла path. По умолчанию этот аргумент имеет значение ‘open’, но может быть установлен в значение ‘print’, ‘edit’,
‘explore’
или ‘find’ (зависит от типа файла (Windows)).
system(command)
Выполняет команду command (строка) в подоболочке. В UNIX возвращает код завершения процесса, который получает от функции wait(). В Windows всегда возвращает код завершения 0. Модуль subprocess предоставляет бо- лее мощный и более предпочтительный способ запуска дочерних процес- сов.
times()
Возвращает кортеж из 5 чисел с плавающей точкой, представляющих на- копленное время в секундах. В UNIX кортеж содержит время выполнения в пространстве пользователя, время выполнения в пространстве ядра, вре- мя выполнения дочернего процесса в пространстве пользователя, время выполнения дочернего процесса в пространстве ядра и действительное вре- мя работы – именно в таком порядке. В Windows кортеж содержит время выполнения в пространстве пользователя, время выполнения в простран- стве ядра и нули в трех остальных элементах.
wait([pid])
Ожидает завершения дочернего процесса и возвращает кортеж с иденти- фикатором процесса и кодом завершения. Код завершения – это 16-битное число, младший байт которого определяет номер сигнала, вызвавшего за- вершение процесса, а старший байт – код завершения (если номер сигна- ла равен нулю). Если был создан core-файл с образом памяти процесса, устанавливается старший бит младшего байта. Аргумент pid, если указан, определяет процесс, завершения которого следует дождаться. При вызове без аргументов функция wait() возвращает управление, когда завершится любой из дочерних процессов (UNIX).
waitpid(pid, options)
Ожидает изменения состояния дочернего процесса с идентификатором pid и возвращает кортеж с идентификатором процесса и кодом завершения, который кодируется так же, как и в функции wait(). В нормальной ситуа- ции в аргументе options следует передавать 0 или WNOHANG, чтобы избежать приостановки вызывающего процесса, если состояние дочернего процесса окажется недоступным немедленно. Эта функция может также использо- ваться для сбора информации о дочерних процессах, выполнение которых было всего лишь приостановлено по каким-либо причинам. Если в аргу-

494
Глава 19. Службы операционной системы менте options передать значение WCONTINUED, можно получить информацию о дочернем процессе, выполнение которого было возобновлено после при- остановки механизмом управления заданиями. Если в аргументе options передать значение WUNTRACED, можно получить информацию о дочернем про- цессе, который был приостановлен, но чей код состояния еще недоступен.
wait3([options])
То же, что и wait() (без аргументов), за исключением того, что возвращает кортеж из 3 элементов (pid, status, rusage), где в поле pid возвращается идентификатор дочернего процесса, в поле status – код завершения, и в поле rusageинформация об использованных ресурсах, возвращаемая функцией resource.getrusage(). Аргумент options имеет тот же смысл, что и в функции waitpid().
wait4(pid, options)
То же, что и waitpid(), за исключением того, что возвращает тот же резуль- тат, что и функция wait3().
Следующие функции принимают код завершения процесса, возвращае- мый функциями waitpid(), wait3() или wait4(), и используются для провер- ки состояния процесса (UNIX).
WCOREDUMP(status)
Возвращает True, если был создан core-файл с образом памяти процесса.
WIFEXITED(status)
Возвращает True, если процесс завершил работу обращением к системному вызову exit().
WEXITSTATUS(status)
Если функция WIFEXITED() возвращает True, эта функция вернет целочис- ленное значение аргумента системного вызова exit(). В противном случае вернет значение, не имеющее определенного смысла.
WIFCONTINUED(status)
Возвращает True, если процесс возобновил работу после приостановки ме- ханизмом управления заданиями.
WIFSIGNALED(status)
Возвращает True, если процесс завершил работу в результате получения сигнала.
WIFSTOPPED(status)
Возвращает True, если процесс был приостановлен.
WSTOPSIG(status)
Возвращает сигнал, вызвавший остановку процесса.
WTERMSIG(status)
Возвращает сигнал, вызвавший завершение процесса.

Модуль os
495
Параметры системы
Н
иже перечислены функции, с помощью которых можно получить инфор- мацию о параметрах системы:
confstr(name)
Возвращает строковое значение параметра настройки системы. В аргумен- те name передается строка с именем параметра. Перечень допустимых имен зависит от системы, но его можно найти в os.confstr_names. Если значение параметра с указанным именем не определено, возвращается пустая стро- ка. Если имя параметра неизвестно, возбуждается исключение ValueError.
В случаях, когда система не поддерживает параметр с указанным именем, может также возбуждаться исключение OSError. Параметры, возвращаемые этой функцией, главным образом имеют отношение к окружению сборки программ и включают пути к системным утилитам, параметры компиля- тора для различных конфигураций (например, поддержка 32-битных при- ложений, 64-битных приложений и файлов большого размера) и параме- тры компоновщика (UNIX).
getloadavg()
Возвращает кортеж из 3 элементов со средними значениями занятости процессора за последние 1, 5 и 15 минут (UNIX).
sysconf(name)
Возвращает целочисленное значение системного параметра. В аргументе
name
передается строка с именем параметра. Перечень допустимых имен параметров системы можно найти в словаре os.sysconf_names. Возвращает
-1
, если имя параметра известно, но его значение не определено. В против- ном случае, если имя параметра неизвестно, может возбуждать исключе- ние ValueError или OSError. В некоторых системах определено свыше 100 различных системных параметров. В списке ниже перечислены параме- системных параметров. В списке ниже перечислены параме- системных параметров. В списке ниже перечислены параме- параметров. В списке ниже перечислены параме- параметров. В списке ниже перечислены параме-
. В списке ниже перечислены параме-
В списке ниже перечислены параме- тры, определяемые стандартом POSIX.1, которые должны быть доступны в большинстве версий UNIX:
1   ...   38   39   40   41   42   43   44   45   ...   82


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