首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从path中提取文件名,不管os/path格式是什么

从path中提取文件名,不管os/path格式是什么
EN

Stack Overflow用户
提问于 2011-12-05 19:39:50
回答 21查看 1.6M关注 0票数 1K

我可以使用哪个Python库从路径中提取文件名,而不管操作系统或路径格式是什么?

例如,我希望所有这些路径都返回c

代码语言:javascript
复制
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
EN

回答 21

Stack Overflow用户

发布于 2011-12-05 19:49:16

实际上,有一个function可以精确地返回您想要的内容

代码语言:javascript
复制
import os
print(os.path.basename(your_path))

警告:当在POSIX系统上使用os.path.basename()从Windows样式的路径(例如"C:\\my\\file.txt"__)中获取基本名称时,将返回整个路径。

下面是运行在Linux主机上的交互式python shell示例:

代码语言:javascript
复制
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'
票数 1.5K
EN

Stack Overflow用户

发布于 2011-12-05 19:45:14

os.path.split是您要查找的函数

代码语言:javascript
复制
head, tail = os.path.split("/tmp/d/a.dat")

>>> print(tail)
a.dat
>>> print(head)
/tmp/d
票数 307
EN

Stack Overflow用户

发布于 2018-02-03 12:06:11

在python 3中

代码语言:javascript
复制
>>> from pathlib import Path    
>>> Path("/tmp/d/a.dat").name
'a.dat'
票数 188
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8384737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档