#python
#python
Вопрос:
как разделить нижеприведенную строку после 2-го вхождения ‘/’ с конца:
/u01/dbms/orcl/product/11.2.0.4/db_home
Ожидаемый результат :
/u01/dbms/orcl/product/
Спасибо.
Комментарии:
1. Более простым методом может быть анализ пути с помощью библиотеки путей (например,
pathlib
), если это возможно2.
'/u01/dbms/orcl/product/11.2.0.4/db_home'.rsplit('/', 2)[0]
Ответ №1:
Не используйте split
, используйте rsplit
вместо этого! Это намного проще и быстрее.
s = '/u01/dbms/orcl/product/11.2.0.4/db_home'
result = s.rsplit('/', 2)[0] '/'
Ответ №2:
string = "/u01/dbms/orcl/product/11.2.0.4/db_home"
split_string = string.split('/')
expected_output = "/".join(split_string[:-2]) "/"
Вы также можете изменить «-2» на минус любое количество имен файлов, которые вам нужно обрезать.
Комментарии:
1. @Adam.Er8 true, мб, исправлено
Ответ №3:
Если вы можете проанализировать ее как путь к файлу, я рекомендую pathlib
попробовать:
from pathlib import Path
p = Path('/u01/dbms/orcl/product/11.2.0.4/db_hom')
p.parent.parent # Returns object containg path /u01/dbms/orc1/product/
Ответ №4:
input='/u01/dbms/orcl/product/11.2.0.4/db_home'
output = '/'.join(str(word) for word in input.split('/')[:-2]) '/'