#python
Вопрос:
У меня есть следующий код:
from pathlib import Path
Path("/shared/code-folder").resolve()
Это дает:
PosixPath('/shared/rev-383837338838373')
Я хочу извлечь вложенную папку rev-383837338838373
в виде строки.
Как я могу извлечь его из PosixPath
объекта?
Редактировать: я не могу сделать: PosixPath(‘/shared/rev-383837338838373’).stem
Как вы видите в моем входном коде, я не знаю, что папка с кодом связана с rev-383837338838373. Обороты-383837338838373 меняются каждые несколько минут. Это динамическая системная связь. Моя цель здесь-найти имя rev-383837338838373
каждого раза, когда я запускаю код. Когда я бегу
Path("/shared/code-folder").resolve()
Я могу дать:
PosixPath('/shared/rev-383837338838373')
или
PosixPath('/shared/rev-141341341431')
или любой другой путь к папке, я не знаю, что это будет.
Комментарии:
1. Я не могу этого сделать, потому что я не знаю rev-383837338838373, это динамическое значение, как показано в разрешении.
2.
Path("/shared/code-folder").resolve().stem
3. @python_user Спасибо! это то, что мне нужно. пожалуйста, напишите в качестве ответа, чтобы я мог принять
4. Я опубликовал сообщение, спасибо, что приняли и поддержали @sony
Ответ №1:
Вы можете использовать stem
атрибут of PosixPath
, чтобы получить то, что вы хотите.
Path("/shared/code-folder").resolve().stem
Что похоже на это.
dynamic_path = Path("/shared/code-folder").resolve()
name = dynamic_path.stem
Ответ №2:
Вы можете преобразовать путь в строку и разделить его.
Если вы хотите получить подпапку rev-383837338838373, попробуйте это:
str(Path("/shared/code-folder").resolve()).split('/)[1]