(Python)确定文件名的后缀名(扩展名)

前言

在今天之前,我获取文件扩展名的方法就是导入os模块,然后利用os.path.splitext(path)的方法来获取的,但这样子其实并不是我想要的,今天好好学习了下字符串的常用方法,发现endswith()就是我苦苦寻觅的,同时也对random.sample方法有了进一步认识

过程示范

文件后缀名

题目:将指定路径下的jpg、zip、txt、py文件根据文件类型分别保存到列表中

在这里插入图片描述

代码实现

import os
path = 'D:/test/'
j_list = []
z_list = []
t_list = []
p_list = []
f_list = os.listdir(path)
for i in range(len(f_list)):
    path1 = path + f_list[i]
    if os.path.isfile(path1):
        if os.path.splitext(path1)[1] == '.jpg':
            j_list.append(f_list[i])
        elif os.path.splitext(path1)[1] == '.zip':
            z_list.append(f_list[i])
        elif os.path.splitext(path1)[1] == '.txt':
            t_list.append(f_list[i])
        else:
            p_list.append(f_list[i])

if __name__ == '__main__':
    print(j_list)
    print(z_list)
    print(t_list)
    print(p_list)

运行结果

['1.jpg', 'easygui.jpg']
['测试1.zip']
['测试1.txt', '测试2.txt']
['1.py']

代码实现

import os
j_list = []
z_list = []
t_list = []
p_list = []
f_list = os.listdir('D:/test')
for i in f_list:
    if i.endswith('jpg'):
        j_list.append(i)
    elif i.endswith('zip'):
        z_list.append(i)
    elif i.endswith('txt'):
        t_list.append(i)
    elif i.endswith('py'):
        p_list.append(i)
    else:
        pass

if __name__ == '__main__':
    print(j_list)
    print(z_list)
    print(t_list)
    print(p_list)

运行结果

['1.jpg', 'easygui.jpg']
['测试1.zip']
['测试1.txt', '测试2.txt']
['1.py']

个人认为第二种更简便且更顺应人类思维

生成不重复随机数

sample(seq,n) 从序列seq中选择n个随机且独立的元素

在这里插入图片描述


小结

字符串的endswith方法能很好的解决文件后缀名如何确定问题,字符串的startswith方法也很好使,同时对生成不重复随机数有了新的方法,总体还不错

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值