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()函数获取文件名和扩展名。通过实战案例的演示,我们了解了如何在实际编程中运用这些知识。希望本文能够帮助你更好地处理文件相关的编程任务!


六、最后 🤝

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【大厂AI课学习笔记NO.52】2.3深度学习开发任务实例(5)需求采集考虑维度

今天来学习,怎么做需求分析,如何明确数据采集需求。 我把自己考试通过的学习笔记,都分享到这里了,另外还有一个比较全的思维脑图,我导出为JPG文件了。下载地址在这里:https://download.csdn.net/download/g…

《Linux C编程实战》笔记:信号量

信号量在操作系统的书里一般都有介绍,这里就只写书上说的了。 信号量是一个计数器,常用于处理进程或线程的同步问题,特别是对临界资源访问的同步。临界资源可以简单地理解为在某一时刻只能由一个进程或线程进行操作的资源,这里的…

FairyGUI × Cocos Creator 3.x 使用方式

前言 上一篇文章 FariyGUI Cocos Creator 入门 简单介绍了FairyGUI,并且按照官方demo成功在Cocos Creator2.4.0上运行起来了。 当我今天使用Creator 3.x 再引入2.x的Lib时,发现出现了报错。 这篇文章将介绍如何在Creator 3.x上使用fgui。 引入 首先&…

EarMaster Pro 7 简体中文破解版下载 v7.2.0.42 电脑版

软件介绍 EarMaster Pro 简体中文破解版是一款由丹麦皇家音乐学院官方制作的多功能音乐品鉴教育软件,软件具有丰富的功能,它可以自定义培训课程,针对性地训练音准、节奏、和声等音乐要素,用户可以根据自身需求和水平选择不同难度…

Minimize Inversions

先来看看官方题解的做法,他一反常态的没有在逆序对题目里面考虑每个位置的贡献,而是直接回到定义考虑每对数是否是逆序对 我们考虑原数列中任意的一组数\((a_i,a_j)\)和\((b_i,b_j)\)。如果最开始两个都不是逆序对,那么交换之后两个都是逆序对…

RabbitMQ的死信队列和延迟队列

文章目录 死信队列如何配置死信队列死信队列的应用场景Spring Boot实现RabbitMQ的死信队列 延迟队列方案优劣:延迟队列的实现有两种方式: 死信队列 1)“死信”是RabbitMQ中的一种消息机制。 2)消息变成死信,可能是由于…

VBA语言専攻资料周末新增

各位T3学员∶本周VBA技术资料增加5讲到385讲,看到通知后联络我免费领取资料。成果来之不易,您更新后请说声谢谢,感恩我的成果。MF381:使工作表使用区域适合窗口MF382:引用复制后的工作表MF383:处理Excel中存…

外星文明会是朋友还是敌人?科学家用AI模拟揭示惊人答案!

引言:人类与外星文明的潜在互动 自古以来,人类就对外太空充满了好奇与向往,无数科幻作品中都描绘了人类与外星文明的潜在互动。然而,这些互动并非总是和平友好的,正如物理学家Stephen Hawking所警告的,盲目…

Linux安装jdktomcatMySQl一战完成

一、jdk安装具体步骤 1、查询是否有jdk java -version 2、进入opt目录 cd /opt/ 连接服务器工具 进入opt目录,把压缩文件上传 查询是否查询成功 进入解压到的目录 cd /usr/local/创建新文件夹 mkdir java 再回到opt目录进行解压 cd /opt 解压到刚刚创建的文…

如何使用 NFTScan NFT API 在 Mantle 网络上开发 Web3 应用

Mantle Network 是建立在以太坊区块链之上的第 2 层扩展解决方案,采用了 Optimistic Rollups 技术,由 BitDAO 孵化,以提供比以太坊更快速和更经济的交易体验。由于 Mantle 基础链构建在 OP Stack 之上并与 EVM 兼容,因此以太坊网络…

LeetCode 102. 二叉树的层序遍历

题目链接https://leetcode.cn/problems/binary-tree-level-order-traversal/description/ 通过队列实现层序遍历 class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> res new ArrayList<>();Queue<…

读书笔记之《巨富》:如何成为全球顶级富豪?

《巨富—全球超级新贵的崛起和其他人的没落》的作者是[美]克里斯蒂娅•弗里兰&#xff0c; 原作名: Plutocrats: The Rise of the New Global Super-Rich and the Fall of Everyone Else &#xff0c;2013年出版。 克里斯蒂娅•弗里兰&#xff08;Chrystia Freeland&#xff…

Linux使用C语言获取进程信息

Linux使用C语言获取进程信息 Author: OnceDay Date: 2024年2月22日 漫漫长路&#xff0c;才刚刚开始… 全系列文章可查看专栏: Linux实践记录_Once_day的博客-CSDN博客 参考文档: Linux proc目录详解_/proc/mounts-CSDN博客Linux下/proc目录介绍 - 知乎 (zhihu.com)Linux内…

Android 如何添加自定义字体

Android 如何添加自定义字体 比如我要添加 jetbrains 相关字体 在 res 文件夹中添加 font 文件夹。里面放入你的字体文件 .ttf .otf&#xff0c;字体文件名需要是小写&#xff0c;只能是字母和下划线。 在 xml 布局文件中直接通过 android:fontFamily"font/jetbrainsmo…

Python实战:xlsx文件的读写

Python实战&#xff1a;xlsx文件的读写 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 &#x1f448; 希望得到您的订阅和支持~ &#…

基于java Springboot实现教务管理系统

基于java Springboot实现教务管理系统《视频版-建议收藏》 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文…

Springboot集成prometheus快速入门demo

一、介绍 prometheus Prometheus 是由前 Google 工程师从 2012 年开始在 Soundcloud 以开源软件的形式进行研发的系统监控和告警工具包&#xff0c;自此以后&#xff0c;许多公司和组织都采用了 Prometheus 作为监控告警工具。Prometheus 的开发者和用户社区非常活跃&#xff0…

【深度学习笔记】3_5 图像分类数据集fashion-mnist

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 3.5 图像分类数据集&#xff08;Fashion-MNIST&#xff09; 在介绍softmax回归的实现前我们先引入一个多类图像分类数据集。它将在后面的章节中被多次使用&#xff0c…

抖音视频评论数据提取软件|抖音数据抓取工具

一、开发背景&#xff1a; 在业务需求中&#xff0c;我们经常需要下载抖音视频。然而&#xff0c;在网上找到的视频通常只能通过逐个复制链接的方式进行抓取和下载&#xff0c;这种操作非常耗时。我们希望能够通过关键词自动批量抓取并选择性地下载抖音视频。因此&#xff0c;为…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的犬种识别系统(附完整代码资源+UI界面+PyTorch代码)

摘要&#xff1a;本文介绍了一种基于深度学习的犬种识别系统系统的代码&#xff0c;采用最先进的YOLOv8算法并对比YOLOv7、YOLOv6、YOLOv5等算法的结果&#xff0c;能够准确识别图像、视频、实时视频流以及批量文件中的犬种。文章详细解释了YOLOv8算法的原理&#xff0c;并提供…