Как бороться с несколькими точками в имени файла с помощью Python pathlib? - PullRequest
0 голосов
/ 25 января 2019

У меня проблема с pathlib, когда я пытаюсь создать путь к файлу, который имеет "."в своем имени модуль pathlib игнорирует его.

Вот примеры строк (я пробовал несколько версий, у всех одна и та же проблема)

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

path = r "c: \ temp"

1

p=Path(path).joinpath("myfile.001").with_suffix(".bat")

2

p=Path(path, "myfile.001").with_suffix(".bat")

3

p=Path(path).with_name("myfile.001").with_suffix(".bat")

Все эти строки приведут к

WindowsPath('C:/temp/myfile.bat')

Итак, как мне сделать pathlib.Path, чтобы правильно построить этот полный путь.Окончательный путь должен быть

WindowsPath('C:/temp/myfile.001.bat')

Не

WindowsPath('C:/temp/myfile.bat')

Естественно, я ищу способ сделать это через pathlib сам, в противном случае я могу просто использовать ОС.

спасибо

1 Ответ

0 голосов
/ 25 января 2019

Вы говорите pathlib заменить суффикс .001 на суффикс .bat. pathlib соответствует.

Скажите pathlib добавить .bat к существующему суффиксу.

p = Path(path, 'myfile.001')
p = p.with_suffix(p.suffix+'.001')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...