Как заменить подстроку в pathlib.Path Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как заменить подстроку в pathlib.Path Python?

Сообщение Anonymous »

Есть ли простой способ заменить подстроку внутри объекта pathlib.Path в Python? Модуль pathlib во многих отношениях удобнее, чем сохранение пути в виде str и использование os.path, glob.glob и т. д., которые встроены в pathlib. Но я часто использую файлы, которые следуют шаблону, и часто заменяю подстроки в пути для доступа к другим файлам:

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

data/demo_img.png
data/demo_img_processed.png
data/demo_spreadsheet.csv
Раньше я мог сделать:

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

img_file_path = "data/demo_img.png"
proc_img_file_path = img_file_path.replace("_img.png", "_img_proc.png")
data_file_path = img_file_path.replace("_img.png", "_spreadsheet.csv")
может заменить расширение файла методом with_suffix(), но принимает расширения только как допустимые суффиксы. Обходные пути:

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

import pathlib
import os

img_file_path = pathlib.Path("data/demo_img.png")
proc_img_file_path = pathlib.Path(str(img_file_path).replace("_img.png", "_img_proc.png"))
# os.fspath() is available in Python 3.6+ and is apparently safer than str()
data_file_path = pathlib.Path(os.fspath(img_file_path).replace("_img.png", "_img_proc.png"))
Преобразование в строку для замены и повторное преобразование в объект Path кажется трудоемким. Предположим, что у меня никогда нет копии строковой формы img_file_path, и мне приходится преобразовывать тип по мере необходимости.

Подробнее здесь: https://stackoverflow.com/questions/533 ... thlib-path
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Pathlib.path против Os.path.join in python
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Pathlib.path против Os.path.join in python
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как сделать так, чтобы метод подкласса, унаследованный от pathlib.Path, возвращал Path вместо подкласса
    Гость » » в форуме Python
    0 Ответы
    119 Просмотры
    Последнее сообщение Гость
  • Почему невозможно определить полный путь с именем диска с помощью pathlib.Path или os.path.join?
    Anonymous » » в форуме Python
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Как я могу заменить подстроение в Python Pathlib.path?
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

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