Анимация
JavaScript
|
Главная Библионтека 21.1.2 Создание файловых объектов Приведенные ниже функции создают новые файловые объекты. fdopen(fd [, mode [, bufsize]]) (UNIX, Windows, Macintosh) Возвращает файловый объект, связанный с файловым дескриптором fd. Аргументы mode и bufsize имеют такое же значение, как и соответствующие аргументы встроенной функции open() . setpgrp() (UNIX) Устанавливает идентификатор группы процессов текущего процесса равным идентификатору процесса (эквивалентно вызову setpgid(0, 0) ). setpgid( pid, pgrp) (UNIX) Устанавливает идентификатор группы процессов процесса с идентификатором pid равным pgrp. Аргумент pid равный 0 обозначает текущий процесс. Если аргумент pgrp равен 0 , в качестве идентификатора группы используется идентификатор процесса. setreuid( ruid, euid) (UNIX) Устанавливает идентификаторы реального и эффективного пользователей текущего процесса равными ruid и euid соответственно. setregid( rgid, egid) (UNIX) Устанавливает идентификаторы реальной и эффективной групп пользователей текущего процесса равными rgid и egid соответственно. setsid() (UNIX) Создает новые сессию и группу процессов с идентификаторами, равными идентификатору текущего процесса. setuid( uid) (UNIX) Устанавливает идентификатор пользователя текущего процесса равным uid. umask (mask) (UNIX, Windows) Устанавливает маску прав на доступ к файлам, которые будут созданы текущим процессом. uname() (некоторые современные варианты UNIX) Возвращает кортеж из пяти строк: имя системы, имя узла, выпуск, версия, тип машины. Некоторые системы обрезают имя узла, поэтому лучше воспользоваться вызовом socket.gethostname() или даже socket.gethostbyaddr(socket.gethostname()) (см. описание модуля socket). 21.1.3 Операции с файловыми дескрипторами В этом разделе описаны операции низкого уровня над потоками с использованием файловых дескрипторов. close (fd) (UNIX, Windows, Macintosh) Закрывает файловый дескриптор fd. popen (command [, mode [, bufsize]]) (UNIX, Windows) Создает канал (pipe) с командой command и возвращает связанный с ним файловый объект. Вы можете читать вывод команды из файлового объекта или записывать в него входные данные в зависимости от режима mode: r (чтение, используется по умолчанию) или w (запись). Аргумент bufsize имеет такое же значение, как и соответствующий аргумент встроенной функции open() . Код завершения выполненной команды (в формате, аналогичном формату результата функции wait() ) возвращается методом close() файлового объекта. Однако, если выполнение команды завершилось успешно (код завершения равен 0), метод close() возвращает None. В предыдущих версиях под Windows эта функция вела себя ненадежно из-за некорректной работы функции popen() библиотеки Windows. Начиная с версии 2.0, используется новая реализация. tmpfile() (UNIX) Создает и возвращает файловый объект для временного файла, открытого в режиме обновления (w+). Этот файл будет автоматически удален после уничтожения всех ассоциированных с ним файловых дескрипторов. Для всех функций вида popen*() аргумент bufsize определяет размер буфера каналов и mode - режим, в котором будут открыты каналы (t - текстовый, используется по умолчанию, или b - двоичный). Аналогичные функции доступны в модуле popen2, но элементы возвращаемого кортежа для них располагаются в ином порядке. popen2( cmd [, bufsize [, mode]]) (UNIX, Windows) Выполняет команду cmd в качестве дочернего процесса и возвращает кортеж из файловых объектов, соответствующих его стандартным потокам ввода и вывода. Функция доступна, начиная с версии 2.0. popen3(cmd [, bufsize [, mode]]) (UNIX, Windows) Выполняет команду cmd в качестве дочернего процесса и возвращает кортеж из файловых объектов, соответствующих его стандартным потокам ввода, вывода и ошибок. Функция доступна, начиная с версии 2.0. popen4(cmd [, bufsize [, mode]]) (UNIX, Windows) Выполняет команду cmd в качестве дочернего процесса и возвращает кортеж из двух файловых объектов: соответствующий его стандартному потоку ввода и объединенному потоку вывода и ошибок. Функция доступна, начиная с версии 2.0. dup( fd) (UNIX, Windows, Macintosh) Возвращает дубликат файлового дескриптора fd. dup2(fdl, fd2) (UNIX, Windows) Копирует файловый дескриптор fdl в fd2, предварительно закрыв последний, если это необходимо. fpathconf( fd, name) (UNIX) Возвращает системную информацию, относящуюся к открытому файлу. Аргумент name должен быть строкой с именем системного значения или целым числом. Известные для данной ОС имена системных значений даны в словаре pathconf names . Если имя name не известно, генерируется исключение ValueError. Если имя не поддерживается ОС (даже если оно включено в pathconf names), генерируется исключение OSError с errno.ElNVAL в качестве номера ошибки. fstat( fd) (UNIX, Windows) Возвращает информацию о файловом дескрипторе fd в виде, аналогичном тому, в котором возвращает результат функция stat() . fstatvfs( fd) (UNIX) Возвращает информацию о файловой системе, на которой находится файл, ассоциированный с файловым дескриптором fd, в виде, аналогичном тому, в котором возвращает результат функция statvfs() . ftruncate( fd, length) (UNIX) Укорачивает файл, соответствующий дескриптору fd, так, чтобы его длина была не более length байт. isatty( fd) (UNIX) Возвращает 1, если дескриптор файла fd открыт и связан с tty-подобным устройством, иначе возвращает 0 . lseek(fd, offset, whence) (UNIX, Windows, Macintosh) Устанавливает текущую позицию в файле, соответствующего дескриптору fd. Аргумент whence указывает точку отсчета: 0 - начало файла, 1 - текущая позиция и 2 - конец файла. open( filename, flags [, mode]) (UNIX, Windows, Macintosh) Открывает файл с именем filename, устанавливает для него различные флаги в соответствии с аргументом flags и права на доступ в соответствии с аргументом mode (по умолчанию 0777) и текущим значением маски (umask). Возвращает дескриптор открытого файла. В качестве флагов могут быть использованы константы, описанные в конце раздела, объединенные оператором . openpty() (некоторые варианты UNIX) Открывает новую пару псевдотерминалов и возвращает пару дескрипторов (master, slave) для pty и tty соответственно. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 [ 84 ] 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |