需求

有的时候我们想从文件路径中提取出包含扩展的文件名,有的时候需要不包括扩展的文件名,还有的时候想要获取文件所在目录,在python中如何快速实现呢?

实现

我们有如下路径

D:\Worksheet\python\course\projects-sources\String_search_from_multiple_files\files\file1.txt

现在我们的目标有两个:

  1. 提取出包含扩展的文件名,针对这个路径来说就是 file1.txt
  2. 提取不包含扩展的文件名,针对这个路径来说就是file1
  3. 提取文件所在目录,针对这个路径就是
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的良师益友,还有每天的实战实例。您的支持是我最大的动力,感谢!

python从文件路径中提取文件名、所在文件夹相关推荐

  1. python提取选中文件的文件名_如何从python文件路径中提取文件名?

    项目概述: 用户通过浏览器选择一个文件来导入数据.然后,我解包二进制文件.然后,我将新解包的数据保存为.csv文件,以便以后在excel中查看数据.用户当前通过键入新文件名来创建文件名.然后我继续用m ...

  2. python批量读取文件名_python - 从路径中提取文件名,无论os / path形式如何

    python - 从路径中提取文件名,无论os / path形式如何 无论操作系统或路径格式是什么,我可以使用哪个Python库从路径中提取文件名? 例如,我想要所有这些路径返回c: a/b/c/ a ...

  3. linux 脚本 提取文件名,powershell-从路径中提取文件名

    powershell-从路径中提取文件名 我想从以下路径中提取文件名: D:\Server\User\CUST\MEA\Data\In\Files\CORRECTED\CUST_MEAFile.csv ...

  4. 如何从完整的文件路径中分离文件名和路径名?

    从路径中分离文件名: CString GetFileName(CString pathname)  {  for( int i=pathname.GetLength()-1; i>=0; i-- ...

  5. Qt/C++调用Windows画图板mspaint,打开指定路径的图片文件,从文件路径中提取目录名和文件名

    一.先看完整的源码 #ifdef Q_OS_WIN #include <Windows.h> #pragma comment(lib, "user32.lib") #p ...

  6. python根据文件名获取文件路径_python 查看文件名和文件路径

    以下是把sourceDir目录下的以.JPG结尾的文件所有拷贝到targetDir目录下: >>>import os >>> import os.path > ...

  7. C#分割文件路径中的文件名与路径

    利用字符串分割法 int lastIndex = filepath.LastIndexOf("\\"); // \\的意思是,一个是转义,一个是代表斜杠 string pFileP ...

  8. C#_获取文件路径中的文件名_扩展名

    using System; using System.IO; class Test { string path = "d:asdfasdf.bmp"; string fileNam ...

  9. java获取路径中的文件名_3种Java从文件路径中获取文件名的方法

    package test; import java.io.File; public class FileName { /** * @param args */ public static void m ...

最新文章

  1. Eclipse 设置
  2. ssh 远程登陆异常SSH_EXCHANGE_IDENTIFICATION及解决过程
  3. ERP物料采购系统需求分析与效果展示 ERP实施以失败告终的四个原因分析
  4. android事件分发笔记
  5. oracle的function的语法,Oracle function语法
  6. 番石榴的对象类:Equals,HashCode和ToString
  7. 前端 网络安全 前端优化 代码架构 笔记
  8. Octave入门基础
  9. 网站登录页面php代码,一个简单的网页密码登陆php代码
  10. 02_03 JSP内置对象之page
  11. Vue学习笔记之15-vue-router详解
  12. 我的世界HMCL如何安装Java_Ubuntu 18.04 LTS 使用 Minecraft 我的世界第三方启动器 HMCL...
  13. ISO9001-2008标准(中英文对照)
  14. SDIO接口WiFi驱动浅析
  15. 【PAT A-1013】Battle Over Cities
  16. postgresql查看数据库及数据表占用空间
  17. Python多维数组,已知多科成绩求英语成绩最高的学生名
  18. wifidog 整体分析
  19. 字节跳动Android内部学习资料泄露,高级面试题+解析
  20. 一篇文章告诉你大数据的重要性

热门文章

  1. 粉丝投稿 | [CPU+目标检测] OpenVINO 实现 Robomaster 自瞄
  2. 修改npm全局安装包的位置路径
  3. 医院集成平台超融合基础架构转型方案
  4. 中级网络工程师——第一章计算机组成与原理
  5. js实现ios头部导航条模糊效果
  6. 转 CRT 上传 下载
  7. 震旦OA、家具、智能装备共同亮相2017现代办公行业年会
  8. PTA 6-2 多项式的求值-C语言实现
  9. java bll dal_C#中三层架构UI、BLL、DAL、Model实际操作
  10. 如何用知识星球年入50万