Удалить последний компонент пути в строке У меня есть путь: myPath = "C:\Users\myFile.txt" Я хотел бы удалить конечный путь, чтобы строка содержала: "C:\Users" До сих пор я использую split, но он просто дает мне список, и я застрял на этом этапе. myPath = myPath.split(os.sep) Ответ 1 Вы не должны манипулировать путями напрямую, для этого есть модуль 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:\ Как это. Ответ 2 Вы также можете использовать 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' Ответ 3 Текущий способ сделать это (Python> 3.4) - использовать модуль pathlib. >>> import pathlib >>> path = pathlib.Path(r"C:\Users\myFile.txt") >>> path.parent WindowsPath('C:/Users') >>> print(path.parent) C:\Users Это дает дополнительное преимущество, заключающееся в кроссплатформенности, поскольку pathlib сделает объект пути подходящим для текущей операционной системы (я использую Windows 10)
Ответ 1 Вы не должны манипулировать путями напрямую, для этого есть модуль 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:\ Как это.
Ответ 2 Вы также можете использовать 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'
Ответ 3 Текущий способ сделать это (Python> 3.4) - использовать модуль pathlib. >>> import pathlib >>> path = pathlib.Path(r"C:\Users\myFile.txt") >>> path.parent WindowsPath('C:/Users') >>> print(path.parent) C:\Users Это дает дополнительное преимущество, заключающееся в кроссплатформенности, поскольку pathlib сделает объект пути подходящим для текущей операционной системы (я использую Windows 10)