我可以使用哪个Python库从路径中提取文件名,而不管操作系统或路径格式是什么?
例如,我希望所有这些路径都返回c
a/b/c/
a/b/c
\a\b\c
\a\b\c\
a\b\c
a/b/../../a/b/c/
a/b/../../a/b/c发布于 2011-12-05 19:49:16
实际上,有一个function可以精确地返回您想要的内容
import os
print(os.path.basename(your_path))警告:当在POSIX系统上使用os.path.basename()从Windows样式的路径(例如"C:\\my\\file.txt"__)中获取基本名称时,将返回整个路径。
下面是运行在Linux主机上的交互式python shell示例:
Python 3.8.2 (default, Mar 13 2020, 10:14:16)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> filepath = "C:\\my\\path\\to\\file.txt" # A Windows style file path.
>>> os.path.basename(filepath)
'C:\\my\\path\\to\\file.txt'发布于 2011-12-05 19:45:14
os.path.split是您要查找的函数
head, tail = os.path.split("/tmp/d/a.dat")
>>> print(tail)
a.dat
>>> print(head)
/tmp/d发布于 2018-02-03 12:06:11
在python 3中
>>> from pathlib import Path
>>> Path("/tmp/d/a.dat").name
'a.dat'https://stackoverflow.com/questions/8384737
复制相似问题