Python实战: 获取 后缀名(扩展名) 或 文件名

Python实战: 获取 后缀名(扩展名) 或 文件名

在这里插入图片描述

🌈 个人主页:高斯小哥
🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您的订阅和支持~
💡 创作高质量博文,分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)


🌵文章目录🌵

  • 一、引言 💭
  • 二、获取文件名 🔍
  • 三、获取文件扩展名 🌿
  • 四、实战案例 🌳
  • 五、总结 🎉
  • 六、最后 🤝

一、引言 💭

  在日常编程中,我们经常需要处理文件,包括读取、写入、移动、复制等操作。而在这些操作中,获取文件的扩展名(后缀名)或文件名是一个常见的需求。Python提供了多种方法来实现这一需求,本文将详细介绍其中的几种方法,并通过实战案例来加深理解。

二、获取文件名 🔍

  在Python中,获取文件名通常使用os.path.basename()函数。这个函数接受一个文件路径作为参数,并返回该文件的基本名称,即最后一个路径分隔符后面的部分。

下面是一个简单的示例:

import os# 定义一个文件路径
file_path = "/home/user/documents/example.txt"# 使用os.path.basename()获取文件名
file_name = os.path.basename(file_path)print(file_name)  # 输出: example.txt

💡注意os.path.basename()函数仅返回文件名,不包括路径或扩展名。

三、获取文件扩展名 🌿

  在Python中,获取文件扩展名通常使用os.path.splitext()函数。这个函数接受一个文件路径作为参数,并返回一个元组,其中第一个元素是文件的基本名称(不包括扩展名),第二个元素是文件的扩展名(包括点号)

下面是一个简单的示例:

import os# 定义一个文件路径
file_path = "/home/user/documents/example.txt"# 使用os.path.splitext()获取文件名和扩展名
file_name, file_extension = os.path.splitext(file_path)print("文件名:", file_name)  # 输出: 文件名: /home/user/documents/example
print("扩展名:", file_extension)  # 输出: 扩展名: .txt

💡注意os.path.splitext()函数返回的扩展名包括点号(.)。如果你想要去掉点号,可以通过字符串切片操作来实现:

file_extension = file_extension[1:]  # 去掉点号
print("去掉点号的扩展名:", file_extension)  # 输出: 去掉点号的扩展名: txt

四、实战案例 🌳

  现在,我们来看一个实战案例,演示如何在实际编程中运用获取文件名和扩展名的知识。假设我们有一个文件夹,里面包含了多个文件,我们需要遍历这个文件夹,打印出每个文件的文件名和扩展名。

import os# 定义一个文件夹路径
folder_path = "/home/user/documents"# 遍历文件夹中的文件
for file_name in os.listdir(folder_path):# 拼接文件的完整路径file_path = os.path.join(folder_path, file_name)# 判断是否为文件(排除文件夹)if os.path.isfile(file_path):# 使用os.path.splitext()获取文件名和扩展名file_base_name, file_ext = os.path.splitext(file_name)# 打印文件名和扩展名print(f"文件名: {file_base_name}, 扩展名: {file_ext[1:]}")

  这个示例代码会遍历指定文件夹中的所有文件,并打印出每个文件的文件名和扩展名。

💡注意: 我们在打印扩展名时使用了字符串切片操作来去掉点号。

五、总结 🎉

  本文介绍了在Python中获取文件名和扩展名的几种方法,包括使用os.path.basename()函数获取文件名,以及使用os.path.splitext()函数获取文件名和扩展名。通过实战案例的演示,我们了解了如何在实际编程中运用这些知识。希望本文能够帮助你更好地处理文件相关的编程任务!


六、最后 🤝

  亲爱的读者,感谢您每一次停留和阅读,这是对我们最大的支持和鼓励!🙏在茫茫网海中,您的关注让我们深感荣幸。您的独到见解和建议,如明灯照亮我们前行的道路。🌟若在阅读中有所收获,一个赞或收藏,对我们意义重大。

  我们承诺,会不断自我挑战,为您呈现更精彩的内容。📚有任何疑问或建议,欢迎在评论区畅所欲言,我们时刻倾听。💬让我们携手在知识的海洋中航行,共同成长,共创辉煌!🌱🌳感谢您的厚爱与支持,期待与您共同书写精彩篇章!

  您的点赞👍、收藏🌟、评论💬和关注💖,是我们前行的最大动力!

  🎉 感谢阅读,祝你编程愉快! 🎉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/488400.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

消息中间件篇之RabbitMQ-延时队列

一、延时队列 延迟队列:进入队列的消息会被延迟消费的队列。 场景:超时订单、限时优惠、定时发布。 延迟队列死信交换机TTL(生存时间)。 二、死信交换机 当一个队列中的消息满足下列情况之一时,可以成为死信&#xf…

村镇医院医疗中心污废水如何处理达标

污废水处理是村镇医院医疗中心运营中不可忽视的重要环节。如何有效处理污废水,使其达到相关标准,是保障医疗中心环境卫生的关键之一。 首先,村镇医院医疗中心应建立科学的废水处理系统。该系统应包括预处理、初级处理、中级处理和高级处理等环…

QtCreator“设计”按钮灰色无法点击,如何解决

Mac中安装QML Designer插件: 首选项-> 关于插件 -> 勾选QT Quick下的QML Designer 点击确定安装插件,重启Qt Creator后生效

简单讲解并梳理微信小程序默认几个文件和文件夹结构及其作用

那么 我们来说一下 小程序整个项目结构 它各个文件 和 整体结构 这是我们新创建的一个小程序项目 我们从上到下 分别来看一下 这些文件和目录结构的作用 首先是 pages 它的作用在于存储整个项目所有的 page页面文件 我们小程序官方 是推荐我们将所有page 界面都放在pages目录…

Git diff Word 文档

前言 前段时间用 nodeJS 写了一个提交代码的工具,开发过程中在认证部分遇到了一些小问题,于是就想看看官方的文档中有没有什么说明之类的,没想到文档中的内容十分丰富,除了解释了 git 相关的原理外,还学到了很多有用的…

MybatisPlus--03--IService、ServiceImpl

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. IService接口1.1 IService、ServiceImpl 接口的使用第一步:实现basemapper接口第二步:编写service类第三步:编写serviceImpl第…

Spring中的ApplicationContext.publishEvent

简单理解 其实就是监听处理。比如找工作平台上,雇主 employer 发布自己的雇佣条件,目的是平台中有符合条件的求职者时,及时向雇主推荐。求职者发布简历,当平台发现某个求职者比较符合条件,就触发被动,推荐…

AES算法框架

AES算法框架 在AES中,明文和秘钥都用“状态(State)”表示。 (1)明文State。明文State可以用二维矩阵表示,该数组为4行,Nb列,设4 X Nb。数组每个元素为1个字节,即为2个十六进制数。 Nb=数据块长度/32。当数据块长128时,Nb=4;当数据块长192时,Nb=6;当数据块长256时…

数据结构-Queue队列

一,队列的简单认识 队列也是一种线性数据结构,与栈不同的是,它只能从一端添加元素,从另一端取出元素.定义了一端,另一端也就确定了. (当然还有一个特殊的双向队列LinkedList除外,它既可以从队首添加元素,也可以移除元素,队尾也是一样的,既可以添加元素,也可以移除元素) 二,队…

在项目中使用CancelToken选择性取消Axios请求

Axios 提供了 CancelToken 类来创建取消标记。取消标记实际上是一个包含 token 标记和 cancel 方法的对象。 1、基本使用方法 const CancelToken axios.CancelToken; const source CancelToken.source();axios.get(/user/12345, {cancelToken: source.token }).catch(functi…

拓扑空间简介

目录 介绍集合论与映射映射相关定义映射(map)映射的一种分类:一一的和到上的 拓扑空间背景介绍开子集开子集的选择 拓扑拓扑空间常见拓扑拓扑子空间同胚其他重要定义 开覆盖紧致性有限开覆盖紧致性 R R R的紧致性 习题 介绍 这是对梁灿彬的《…

【MIT-PHP-推荐】imi-ai 是一个 ChatGPT 开源项目

mi-ai 是一个 ChatGPT 开源项目,支持聊天、问答、写代码、写文章、做作业等功能。 项目架构合理,代码编写优雅,简单快速部署。前后端代码完全开源,不管是学习自用还是商用二开都很适合。 本项目现已支持 ChatGPT 聊天 AI 和 Emb…