从 Python 中的字符串中删除最后一个路径组件
从字符串中删除最后一个路径组件:
- 使用
pathlib.Path
类创建路径对象。 - 访问对象的父属性。
parent
属性返回路径的逻辑父级。
from pathlib import Path
absolute_path = '/Users/jiyik/workspace/python/study/main.py'
result = Path(absolute_path).parent
print(result) # 👉️ /Users/jiyik/workspace/python/study
absolute_path = '/Users/jiyik/workspace/python/study'
result = Path(absolute_path).parent
print(result) # 👉️ /Users/jiyik/workspace/python
pathlib.Path
类用于根据您的操作系统创建 PosixPath 或 WindowsPath 对象。
parent
属性返回路径的逻辑父级。
from pathlib import Path
print(Path('/a/b/c').parent) # 👉️ '/a/b'
print(Path('/a/b/c/').parent) # 👉️ '/a/b'
这种方法适用于 POSIX 和 Windows。
或者,我们可以使用 os.path.dirname()
方法。
使用 os.path.dirname() 从字符串中删除最后一个路径组件
从字符串中删除最后一个路径组件:
- 使用
os.path.normpath()
方法从路径中去除任何尾部斜线。 - 使用
os.path.dirname()
方法删除最后一个路径组件。
import os
absolute_path = '/home/bobbyhadz/Desktop/python/main.py'
result = os.path.dirname(os.path.normpath(absolute_path))
print(result) # 👉️ /home/bobbyhadz/Desktop/python
absolute_path = '/home/bobbyhadz/Desktop/'
result = os.path.dirname(os.path.normpath(absolute_path))
print(result) # 👉️ /home/bobbyhadz
os.path.normpath
方法通过删除双斜杠和去除尾部斜杠来规范化路径。
os.path.dirname
方法返回路径名的目录部分。
如果路径以斜杠结尾,则 os.path.dirname()
方法将不起作用。
import os
absolute_path = '/Users/jiyik/workspace/'
result = os.path.dirname(absolute_path)
print(result) # 👉️ /Users/jiyik/workspace
这就是为什么我们必须在调用 os.path.dirname
之前使用 os.path.normpath
方法去除任何尾部斜杠。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。