首页 > 编程语言 >Python科研武器库 - 字符串操作 - 路径字符串分割 os.path.split()、os.path.splitext()

Python科研武器库 - 字符串操作 - 路径字符串分割 os.path.split()、os.path.splitext()

时间:2024-07-28 19:51:47浏览次数:12  
标签:Lingdu Desktop lingdu home 字符串 path os

使用场景:
科研中批量处理数据时的,文件路径分割以及文件格式判断
对于文件格式判断,是因为实际文件的格式多种多样,就拿图像为例,就有.png .jpg .bmp等等。
更不用说,有时候还有一些干扰文件需要屏蔽(比如Mac系统的.DS_Store文件)。
这就需要我们判断文件格式,再对特定格式的文件进行操作

使用函数:

  1. 文件路径分割
    os.path.split()
    用于将路径拆分为头部和尾部。尾部是路径的最后一个组成部分,而头部是指“尾部”部分前的所有内容。
    这里需注意,文件路径的os.path.split(),与字符串的split()有所不同,
    字符串split()的用法详见我另一篇博客:
  2. 文件格式判断
    os.path.splitext()
    用于将路径名拆分为root和ext。其中,ext代表扩展名(extension),表示指定路径(文件)的扩展名部分,而root是除ext部分之外的所有内容。
    若指定路径中不包括任何扩展名,则ext为空。如果指定路径以句点 (.) 开头,则会被忽略。

代码示例:

import os
 
path = '/home/Lingdu/Desktop/lingdu.txt'
 
head_tail = os.path.split(path)
 
print("Head of '% s:'" % path, head_tail[0])
print("Tail of '% s:'" % path, head_tail[1], "\n")
 
path = '/home/Lingdu/Desktop/'
 
head_tail = os.path.split(path)
 
print("Head of '% s:'" % path, head_tail[0])
print("Tail of '% s:'" % path, head_tail[1], "\n")
 
path = 'lingdu.txt'

head_tail = os.path.split(path)
 
print("Head of '% s:'" % path, head_tail[0])
print("Tail of '% s:'" % path, head_tail[1])

运行效果:

Head of '/home/Lingdu/Desktop/lingdu.txt:' /home/Lingdu/Desktop
Tail of '/home/Lingdu/Desktop/lingdu.txt:' lingdu.txt 

Head of '/home/Lingdu/Desktop/:' /home/Lingdu/Desktop
Tail of '/home/Lingdu/Desktop/:'  

Head of 'lingdu.txt:' 
Tail of 'lingdu.txt:' lingdu.txt

代码示例:

import os 
  
path = '/home/Lingdu/Desktop/lingdu.txt'
  
root_ext = os.path.splitext(path) 
  
print("Root part of '% s':" % path, root_ext[0]) 
print("Ext part of '% s':" % path, root_ext[1], "\n") 
  
path = './home/Lingdu/Desktop/'
  
root_ext = os.path.splitext(path) 
  
print("Root part of '% s':" % path, root_ext[0]) 
print("Ext part of '% s':" % path, root_ext[1]) 

运行效果:

Root part of '/home/Lingdu/Desktop/lingdu.txt': /home/Lingdu/Desktop/lingdu
Ext part of '/home/Lingdu/Desktop/lingdu.txt': .txt 

Root part of './home/Lingdu/Desktop/': ./home/Lingdu/Desktop/
Ext part of './home/Lingdu/Desktop/': 

标签:Lingdu,Desktop,lingdu,home,字符串,path,os
From: https://www.cnblogs.com/lingdu98/p/18328482

相关文章

  • OSPF基础实验
    实验使用软件:eNSP例图:需求分析:1、拓扑图2、R1、R2、R5三个环回接口包括在内,实验共需6个网段,首先需要对192.168.1.0/24网段进行子网划分3、给设备配置IP地址4、在R3和R4的两个接口上面配置密文认证5、对设备进行OSPF配置,但不对R5的环回接口进行宣告实验步骤:1、子网划分......
  • 【代码随想录训练营第42期 Day10打卡 LeetCode 232.用栈实现队列 225. 用队列实现栈 2
    目录一、做题心得二、题目与题解题目一:232.用栈实现队列题目链接题解题目二:225.用队列实现栈题目链接题解题目三:20.有效的括号题目链接题解题目四:1047.删除字符串中的所有相邻重复项 题目链接题解三、小结一、做题心得今天是代码随想录训练营打卡的第1......
  • 使用FreeRTOS官方移植,移植到STM32F1平台中
    本教程基本参照[野火]《FreeRTOS内核实现与应用开发实战指南》,本人相当推荐此教程,尤其是第一部分从0开始写内核,虽然比较晦涩,但是学完之后对FreeRTOS的运行原理还有框架的认识会有一个很大的提高。首先获取FreeRTOS的源码我们从官网下载9.0版本的压缩包解压后Plus中包含......
  • xgboost的作用与库的安装
    XGBoost是一个非常强大的Boosting算法工具包,‌以其优秀的性能(‌效果与速度)‌在数据科学比赛中长期占据领先地位,‌并且在许多大厂的机器学习方案中也是首选模型。‌ XGBoost在并行计算效率、‌缺失值处理、‌控制过拟合、‌预测泛化能力等方面表现出色。‌它的主要特点和优势包括:......
  • catboost库作用与安装
    CatBoost是一种机器学习库,‌由俄罗斯的搜索巨头Yandex在2017年开源。‌它属于Boosting族算法的一种,‌与XGBoost、‌LightGBM并称为GBDT的三大主流神器。‌CatBoost的主要作用和创新点在于高效合理地处理类别型特征,‌这是从其名称中的"Cat"(‌分类)‌和"Boosting"(‌提升)‌中可以看出......
  • Python科研武器库 - 字符串操作 - 字符串分隔 split()、rsplit()
    使用场景:在科研中,数据样本的命名方式往往包含着对应的信息,例如,一张人脸图片34_anger_1.png,文件名中包含着该图片中主体在数据集中的ID、人脸表情种类、以及该图片是同类型第几张图片。使用python批量处理数据时,从文件名中获取对应信息也是很关键的一步,然后才能基于这些信息进......
  • Postman中的代理艺术:配置与使用指南
    Postman中的代理艺术:配置与使用指南在API开发和测试过程中,代理服务器常用于捕获、检查、修改请求和响应。Postman作为一个流行的API开发工具,内置了代理服务器功能,使得测试人员可以方便地查看和修改通过代理的流量。本文将详细介绍如何在Postman中配置和使用代理服务器。代......
  • Postman中的速率限制测试:模拟API的流量控制
    Postman中的速率限制测试:模拟API的流量控制API的速率限制是服务端用来控制客户端请求频率的一种安全措施,以防止滥用和过载。在Postman中进行速率限制测试可以帮助开发者和测试人员评估API在面对高频率请求时的行为。本文将详细介绍如何在Postman中实现API的速率限制测试,并......
  • Java基础10:拓展运算符、字符串连接符、三元运算符
    扩展运算符publicstaticvoidmain(String[]args){ inta=10; intb=20; a+=b;//a=a+b System.out.println(a+":"+b);}字符串连接符"+"运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。//字符串......
  • Postman中的API测试结果:版本控制的艺术
    Postman中的API测试结果:版本控制的艺术在软件开发过程中,API测试是一个关键环节,它确保了应用程序的接口能够按照预期工作。Postman是一个流行的API开发工具,它不仅支持创建、测试和文档化API,还提供了强大的版本控制功能。本文将详细探讨如何在Postman中进行API测试结......