用Python的os.path.basename函数获取文件名

用Python的os.path.basename函数获取文件名 在Python中,我们可以使用os.path.basename函数获取文件路径中的文件名部分,该函数用于获取文件的基本名称(字符串中最后一个反斜杠以后的部分),并将其作为字符串返回。如果路径以反斜杠结尾,则返回前一个部分。该函数可以应用于多种操作系统,如Windows,Linux,Unix等。使用该函数时,需要导入os模块。

一、os.path.basename函数简介

在Python中,我们可以使用os.path.basename函数获取文件路径中的文件名部分,该函数用于获取文件的基本名称(字符串中最后一个反斜杠以后的部分),并将其作为字符串返回。如果路径以反斜杠结尾,则返回前一个部分。该函数可以应用于多种操作系统,如Windows,Linux,Unix等。使用该函数时,需要导入os模块。

import os

二、os.path.basename函数语法

os.path.basename函数的语法如下:

os.path.basename(path)

其中,参数path为要获取文件名的路径字符串,该路径可以是具体的文件路径、文件夹路径或其他路径的字符串表示形式。函数的返回值是一个字符串,表示path中的文件名。

三、对文件路径字符串的处理

在使用os.path.basename函数之前,需要对文件路径字符串进行处理,确保其符合操作系统的格式。

1、Windows系统路径字符串处理

在Windows系统中,文件路径字符串通常以’\’字符分隔路径和文件夹名称。但是,在Python中,’\’字符具有转义意义,因此建议使用原始字符串,使用’r’前缀,例如:

path = r'C:\Users\Administrator\Desktop\test.txt'

如果没有使用r前缀,则需要使用两个’\’字符,例如:

path ='C:\\Users\\Administrator\\Desktop\\test.txt'

2、Linux和Unix系统路径字符串处理

在Linux和Unix系统中,文件路径字符串通常以’/’字符分隔路径和文件夹名称。不需要进行转义处理。例如:

path = '/home/user/test.txt'

四、os.path.basename函数使用示例

1、获取文件名

下面是一个简单的示例,展示如何使用os.path.basename函数获取指定文件的名称。

import os

# 获取文件名方法一
path = r'C:\Users\Administrator\Desktop\test.txt'
filename = os.path.basename(path)
print(filename)

# 获取文件名方法二
filename = path.split('\\')[-1]
print(filename)

输出结果:

test.txt
test.txt

在上面的示例中,我们使用了两种方法获取文件名。第一种方法是使用os.path.basename函数,它非常简单且易于使用。第二种方法是使用字符串的split方法,它将路径字符串切割成一个列表,我们可以使用列表索引[-1]来获取文件名。

2、获取文件夹名称

有时,我们不仅需要获取文件名,还需要获取文件所在的文件夹名称。可以使用os.path.dirname函数获取文件所在文件夹的全路径。

import os

path = r'C:\Users\Administrator\Desktop\test.txt'

# 获取文件夹名方法一
dir_name = os.path.dirname(path)
print(dir_name)

# 获取文件夹名方法二
dir_name = path.rsplit('\\', 1)[0]
print(dir_name)

输出结果:

C:\Users\Administrator\Desktop
C:\Users\Administrator\Desktop

在上面的示例中,我们使用了两种方法获取文件夹名。第一种方法是使用os.path.dirname函数,它非常简单且易于使用。第二种方法是使用字符串的rsplit方法,它将路径字符串从最后一个反斜杠处分割成两部分,使用[-1]索引排除文件名部分,[0]索引获得文件夹名部分。

3、获取多级文件夹名称

对于多级文件夹的情况,我们可以使用os.path.split函数获取路径中的文件夹名称和文件名称。该函数返回一个元组,包含路径中的文件夹名称和文件名称。例如:

import os

path = r'C:\Users\Administrator\Desktop\test\file.txt'

# 获取文件夹名和文件名
dir_name, filename = os.path.split(path)
print(dir_name)
print(filename)

输出结果:

C:\Users\Administrator\Desktop\test
file.txt

四、总结

os.path.basename函数是Python中常用的获取文件名的函数之一,使用起来非常简单,可以应用于多种操作系统,如Windows,Linux,Unix等。在使用该函数前需要对路径字符串进行处理以符合操作系统的格式,可以使用原始字符串以避免将反斜杠转义。 os.path.basename函数还可以与os.path.dirname一起使用,使我们能够方便地获取文件的所在文件夹名称。对于多级文件夹的路径,可以使用os.path.split函数获取路径中的文件夹名称和文件名称。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/23038.html

(0)
上一篇 2023-12-10
下一篇 2023-12-10

相关推荐

  • mysql的存储过程是什么_mysql最小存储单位

    mysql的存储过程是什么_mysql最小存储单位什么是存储过程 1. 一组可编程的函数,是为了完成特定功能的SQL语句集 经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。 2. 存储过程就是具有名字的一段代码

    2023-02-24
    146
  • mysql innodb和myisam索引区别_mysql复合索引原理

    mysql innodb和myisam索引区别_mysql复合索引原理数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。 索引的实现通常使用B_TREE。 B_TREE索引加速了数据访问,因为存储引擎不会再去扫描整张表得到需要的数据;

    2023-03-11
    153
  • 【巨杉数据库SequoiaDB】巨杉 Tech | SequoiaDB SQL实例高可用负载均衡实践[通俗易懂]

    【巨杉数据库SequoiaDB】巨杉 Tech | SequoiaDB SQL实例高可用负载均衡实践[通俗易懂]1 前言 在应用程序中,应用配置连接的数据库IP地址和端口号都是固定一个的,当所属IP地址的服务器宕机后,需要人为手工更改IP地址切换数据库服务器。同时当应用接收到成千上万的并发 http 请求时,…

    2023-02-09
    139
  • Python TKM: 创建GUI界面毫不费力

    Python TKM: 创建GUI界面毫不费力Python是一种简单、易学、高效的编程语言,适用于各种领域,如Web开发、数据科学、科学计算等。Python也可以用来创建GUI(Graphical User Interface,图形用户界面)应用程序,为用户提供更加友好的交互方式。在Python中,有多种GUI工具包可供选择,其中Tkinter是Python自带的GUI工具包,它简单易学,功能齐全,被广泛应用。

    2024-03-10
    79
  • sql语句proc_最简单的手工视频

    sql语句proc_最简单的手工视频CREATE PRoc [名字] { @参数 数据类型, @参数 数据类型 OUTPUT[输入] } AS begin select INSERT UPDATE (SQL) end –基本语句快 –

    2023-01-30
    151
  • 使用Python实现鼠标点击操作

    使用Python实现鼠标点击操作鼠标点击操作指的是通过鼠标模拟用户的点击动作,触发相应的操作或事件。例如在图形界面中,用户可以通过鼠标点击按钮实现提交操作;在游戏中,玩家可以通过鼠标点击屏幕实现角色行动等。

    2024-07-27
    57
  • 故障分析 | MySQL OOM 故障应如何下手

    故障分析 | MySQL OOM 故障应如何下手作者:孙祚龙 爱可生南区分公司交付服务部成员,实习工程师。负责公司产品问题排查及日常运维工作。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 引…

    2023-02-22
    148
  • ORA-27140: attach to post/wait facility failed「建议收藏」

    ORA-27140: attach to post/wait facility failed「建议收藏」Errors in file /home/u01/app/oracle/diag/rdbms/hnybdb21/hnybdb211/trace/hnybdb211_j000_143099.trc:OR

    2022-12-27
    155

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注