Имеет ли смысл, чтобы объекты pathlib PurePath содержали шаблоны звездочек в стиле glob? [закрыто]Python

Программы на Python
Ответить
Anonymous
 Имеет ли смысл, чтобы объекты pathlib PurePath содержали шаблоны звездочек в стиле glob? [закрыто]

Сообщение Anonymous »

У меня есть устаревший код Python, использующий строки для операций с путями, и я перехожу на него с помощью pathlib. Одна из этих строк представляет собой шаблон, используемый для поиска файла определенного типа. Я подумал, что имело бы смысл превратить это в библиотеку путей PurePath, поскольку, хотя на самом деле это не путь, указывающий на что-то в файловой системе, некоторые вычислительные операции полезно выполнять над ним, в частности,expanduser(), поскольку в дополнение к шаблонам звездочек в стиле glob он также может содержать тильды, которые необходимо расширить до фактического домашнего каталога пользователя.
Однако glob.glob() аварийно завершает работу, если вы даете ему команду PurePath:

Код: Выделить всё

>>> glob.glob(p)
Traceback (most recent call last):
File "", line 1, in 
File "/usr/lib/python3.12/glob.py", line 28, in glob
return list(iglob(pathname, root_dir=root_dir, dir_fd=dir_fd, recursive=recursive,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/glob.py", line 48, in iglob
root_dir = pathname[:0]
~~~~~~~~^^^^
TypeError: 'PurePosixPath' object is not subscriptable
Это заставляет меня задаться вопросом, имеет ли смысл вообще иметь звездочки в стиле glob в pathlib PurePath? Я пробовал читать документацию по pathlib, но, похоже, там не указано, что должен или не должен содержать PurePath.

Подробнее здесь: https://stackoverflow.com/questions/798 ... asterisk-p
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»