c++11 全路径的文件名_【python】 如何从文件路径中获取文件名

本文介绍了Python的os和os.path模块如何用于获取文件路径的相关信息,包括获取绝对路径、基本名称和文件扩展名的方法,并给出了实际操作示例。
摘要由CSDN通过智能技术生成
4ff06967aafbc2de48fad65ae0d15d73.gif关注我们更多精彩等你发现!

python中的os模块和os.path模块提供对文件级和目录级的操作方法,当我们需要获取当前目录下的文件名、子目录和子目录下的文件名,用os模块就很方便了

获取绝对路径

os.path.abspath(path)

返回路径 path 的绝对路径(标准化的)。在大多数平台上,这等同于用 normpath(join(os.getcwd(), path)) 的方式调用 normpath() 函数

import os
os.path.abspath('E:/2021作品')

运行结果:

'E:\\2021作品'
获取文件名

os.path.basename(path)

返回路径 path 的基本名称。这是将 path 传入函数 split() 之后,返回的一对值中的第二个元素。请注意,此函数的结果与Unix basename 程序不同。basename 在 '/foo/bar/' 上返回 'bar',而 basename() 函数返回一个空字符串 ('')

# 获取带后缀的文件名
a = os.path.basename('E:/2021作品/test.csv')
print('带后缀:',a)

# #获取不带后缀的文件名
b=a.split('.')[0]
print('不带后缀:',b)

运行结果:

带后缀:test.csv
不带后缀:test
按指定方式提取文件名

os.path.splitext(path)

将路径 path 拆分为一对,即 (root, ext),使 root + ext == path,其中 ext 为空或以英文句点开头,且最多包含一个句点。路径前的句点将被忽略,例如 splitext('.cshrc') 返回 ('.cshrc', '')

filepath2="D:/data/outputs/测试.jpg.on.jpg"
c=os.path.splitext(filepath2)[0]#不带后缀的路径文件名
print(c)
d=os.path.splitext(filepath2)[-1]#获取文件后缀
print(d)
e= os.path.basename(filepath2)#获取带后缀的文件名
print(e)

运行结果:

D:/data/outputs/测试.jpg.on
.jpg
测试.jpg.on.jpg
获取指定目录下的所有子目录和文件名(包括子目录)的方法

例如名为春运的文件夹下有二十多个文件和一个文件夹(里面包含一个文件)如图:

b36b9f1ea41257bd966d99343e1e8c08.png

假设需要获取该文件夹下的所有文件名和子目录名及子目录下的文件名,方法代码如下:

import os
def file_name(file_dir):
for root,dirs,files in os.walk(file_dir):
print('目录路径 :',root)
print('子目录名称 :',dirs)
print('目录下的文件:',files)
print("\n")

file_name('E:/春运')
运行结果:

9e37f9199cb1761ae7f32a527fb388f0.png

end

aa5ec6ca99b7d54f88c0396408331588.gif cb1c07ade79f0c4715e2aae1b273e1f9.png a0a307a5d79c578655cb191321f4ec7e.gif

扫码关注最新动态

数据分析之渔

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值