Анимация
JavaScript


Главная  Библионтека 

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

21.13 glob - раскрытие шаблона имен путей

Модуль glob находит все имена путей, удовлетворяющих определенному шаблону, в соответствии с правилами, используемыми в UNIX shell. Этот модуль не раскрывает имя домашнего каталога, записанного с помощью символа но корректно сопоставляет имена, возвращаемые функцией os.listdir() с заданным шаблоном с помощью функции fnmatch.fnmatch() (см. описание модуля fnmatch для ознакомления с синтаксисом шаблонов). Если Вы хотите раскрыть имя домашнего каталога, воспользуйтесь функцией os.path.expanduser() .

glob(pathname)

Возвращает (возможно, пустой) список имен путей, удовлетворяющих шаблону pathname. Аргумент pathname должен быть строкой, содержащей имя пути (абсолютное или относительное) и, возможно, групповые символы (см. описание модуля fnmatch). Групповые символы не удовлетворяют разделителю компонент имени пути2.

Допустим, к примеру, что текущий каталог содержит только файлы 1.gif, 2.txt и card.gif. Тогда функция glob() будет работать следующим образом (обратите внимание, что запись начала пути сохраняется):

2Специальные последовательности вида [seg] и ![seg] не должны содержать символы разделителей имени пути, так как это приведет к некорректной работе функции.

ENOLCK

Блокировка записей недоступна.

ENOSYS

Функция не реализована.

ENOTEMPTY

Каталог не является пустым.

EBADMSG

Неверное сообщение.

EILSEQ

Неверная последовательность байтов.

EMSGSIZE

Слишком длинное сообщение.

ETIMEDOUT

Истекло время ожидания завершения операции.

EINPROGRESS

Операция в процессе выполнения.



21.14. fnmatch - сопоставление имен файлов с шаблоном 303

>>> from glob import glob >>> glob(./[0-9].*)

[./1.gif, ./2.txt] >>> glob(*.gif)

[1.gif, card.gif] >>> glob(?.gif)

[1.gif]

21.14 fnmatch - сопоставление имен файлов с шаблоном

Этот модуль предоставляет возможность сопоставления имен файлов (каталогов) с шаблоном, содержащим групповые символы в стиле UNIX shell. Возможность использования более сложных шаблонов (регулярных выражений) предоставляет модуль re.

Шаблон может содержать следующие специальные последовательности (групповые символы):

Последовательность

Назначение

Удовлетворяет любому количеству любых символов.

Удовлетворяет (одному) любому символу.

[seq ]

Удовлетворяет (одному) любому символу, содержащемуся в

последовательности seq.

[!seq]

Удовлетворяет (одному) любому символу, не содержащемуся

в последовательности seq.

Обратите внимание, что разделители компонент имени пути (/ , \ , : ) не имеют специального значения. Точка в начале имени файла не рассматривается отдельно и удовлетворяет групповым символам * и ? .

fnmatch( filename, pattern)

Возвращает 1, если имя файла (каталога) удовлетворяет шаблону pattern, иначе возвращает 0 . Если ОС не чувствительна к регистру имен файлов, оба аргумента перед сопоставлением будут приведены к одному регистру функцией os.path.normcaseO . Функция os.path.normcase() также заменяет все вхождения os.altsep на os.sep, то есть, например в Windows, символы \ и / могут использоваться взаимозаменяемо (шаблоны / и \\ удовлетворяют как / , так и \\ ).

fnmatchcase( filename, pattern)

Возвращает 1 , если имя файла (каталога) удовлетворяет шаблону pattern, иначе возвращает 0. Аргументы не подвергаются никакой обработке, сравнение всегда производится с учетом регистра букв.



21.15 shutil - операции над файлами высокого уровня

Модуль shutil предоставляет набор операций высокого уровня над файлами и коллекциями файлов.

Предостережение: в операционных системах Macintosh не используются ответвления ресурсов и другие метаданные. Это означает, что при копировании файлов ресурсы будут утрачены, тип и коды создателя файлов не будут правильными.

copyfile( src, dst)

Копирует содержимое файла именем src в файл с именем dst. Если файл dst существует, он будет заменен.

copyfileobj (fsrc, fdst [, bufsize])

Копирует содержимое файлового (или подобного) объекта fsrc в файловый (или подобный) объект fdst. Если задан аргумент bufsize, он используется в качестве размера буфера (отрицательные значения означают, что файл не будет копироваться по частям).

copymode( src, dst)

Устанавливает у файла с именем dst биты разрешений доступа такие же, как у файла src.

copystat( src, dst)

Устанавливает у файла с именем dst биты разрешений доступа, время последнего доступа и время последнего внесения изменений такие же, как у файла src. Содержимое файла, владелец и группа остаются неизменными.

copy( src, dst)

Копирует файл с именем src в файл с именем dst. Если dst является каталогом, создает (или заменяет) в нем файл с таким же (основным) именем, как и src. Биты разрешения доступа также копируются.

copy2 (src, dst)

Работает аналогично функции copy(), но также устанавливает у файла с именем dst время последнего доступа и время последнего внесения изменений такие же, как у файла src (то есть работает аналогично команде cp -p в UNIX).

copytree (src, dst [, symlinks])

Рекурсивно копирует дерево каталогов src в dst. Каталог с именем dst не должен существовать - он будет создан. Копирование всех файлов производится с помощью функции copy2() . Если задан и является истиной аргумент symlinks, символические ссылки в исходном дереве будут представлены символическими

Модуль glob позволяет раскрыть шаблон, то есть найти все файлы, удовлетворяющие шаблону.



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