Удалить последний компонент пути в строке - PullRequest
38 голосов
/ 23 июля 2010

У меня есть путь:

myPath = "C:\Users\myFile.txt"

Я хотел бы удалить конечный путь, чтобы строка содержала только:

"C:\Users"

Пока что я использую split, но он просто дает мне список, и я застрял в этом месте.

myPath = myPath.split(os.sep)

Ответы [ 2 ]

67 голосов
/ 23 июля 2010

Вы не должны манипулировать путями напрямую, для этого есть модуль os.path.

>>> import os.path
>>> print os.path.dirname("C:\Users\myFile.txt")
C:\Users
>>> print os.path.dirname(os.path.dirname("C:\Users\myFile.txt"))
C:\

Вот так.

16 голосов
/ 30 июля 2015

Вы также можете использовать os.path.split, как это

>>> import os
>>> os.path.split('product/bin/client')
('product/bin', 'client')

Он разбивает путь на две части и возвращает их в кортеже. Вы можете назначить значения в переменных, а затем использовать их, как это

>>> head, tail = os.path.split('product/bin/client')
>>> head
'product/bin'
>>> tail
'client'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...