python从文件路径中提取文件名、所在文件夹
需求
有的时候我们想从文件路径中提取出包含扩展的文件名,有的时候需要不包括扩展的文件名,还有的时候想要获取文件所在目录,在python中如何快速实现呢?
实现
我们有如下路径
D:\Worksheet\python\course\projects-sources\String_search_from_multiple_files\files\file1.txt
现在我们的目标有两个:
- 提取出包含扩展的文件名,针对这个路径来说就是 file1.txt
- 提取不包含扩展的文件名,针对这个路径来说就是file1
- 提取文件所在目录,针对这个路径就是
D:\Worksheet\python\course\projects-sources\String_search_from_multiple_files\files
我们来一一实现如下:
下面需要导入os模块
import os
提取包含扩展的文件名
使用os.path.basename就能从路径中提取包含扩展的文件名
path = r"D:\Worksheet\python\course\projects-sources\String_search_from_multiple_files\files\file1.txt"
fileName = os.path.basename(path)
print(fileName)
输出如下:
file1.txt
提取不包含扩展的文件名
这个首先需要把路径中扩展名之前内容和后面的内容分开,使用
dirStr, ext = os.path.splitext(path)
dirStr就是除了扩展名之前的内容,在这里就是
D:\Worksheet\python\course\projects-sources\String_search_from_multiple_files\files\file1
也就是少了 .txt
然后再使用路径分隔符分割,并获取最后一项就能得到我们想要的结果,代码如下
path = r"D:\Worksheet\python\course\projects-sources\String_search_from_multiple_files\files\file1.txt"
dirStr, ext = os.path.splitext(path)
file = dirStr.split("\\")[-1]
print(file)
输出如下:
file1
提取文件所在目录
这个也很简单,使用os.path.dirname就能获得路径的目录了
,代码如下
path = r"D:\Worksheet\python\course\projects-sources\String_search_from_multiple_files\files\file1.txt"
directory = os.path.dirname(path)
print(directory)
输出如下:
D:\Worksheet\python\course\projects-sources\String_search_from_multiple_files\files
把它们综合起来,运行的效果如下图:
后记
如果您也对python有兴趣,我这里有一本《python编程手册》,里面几乎囊括了python的方方面面(1000页),可以作为字典使用以备忘记知识点的时候进行查询。也可以作为从入门到精通的精读教程,实乃居家旅行、闯荡python江湖的不二法宝,领取方式:在鄙人的共重号(python实例实战)里发送 “python学习手册“” 进行领取,鄙人小号里有学习python的良师益友,还有每天的实战实例。您的支持是我最大的动力,感谢!
更多推荐
所有评论(0)