我有一条路:
myPath = "C:\Users\myFile.txt"
我想删除结束路径,以便字符串只包含:
"C:\Users"
到目前为止,我正在使用split,但它只是给了我一个列表,而且我现在陷入困境。
myPath = myPath.split(os.sep)
答案 0 :(得分:66)
你不应该直接操纵路径,有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:\
喜欢这个。
答案 1 :(得分:15)
您也可以使用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'
答案 2 :(得分:1)
当前执行此操作的方法(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)