Python中OS模块的常用方法和应用

利用OS模块处理文件相关问题

1、 推荐学习OS模块的链接

OS的常用方法

2、 要求:

⑴、编写函数,返回传入目录的上一级目录

import os
def fun1(path):
          """""(1)编写函数,返回传入目录的上级目录"""
          return os.path.dirname(path)
path=r'E:\视频\电视剧'
print(fun1(path))

*** 此题调用了:
os.path.dirname(path) : 返回文件路径

⑵、编写函数,判断传入目录是否存在,如果存在则返回一个包含此目录下所有文件名称及其扩展名的列表,如果不存在则返回False

import os
def fun2(path, list_file=None):
    """(2)编写函数,判断传入目录是否存在,如果存在则返回一个包含此目录下所有文件名称及其扩展名的列表,如果不存在则返回False"""
    if list_file is None:
        list_file = []
    if os.path.exists(path):                      # 判断目录是否存在
        for i in os.listdir(path):                # 遍历目录下所有的文件及文件夹
            if os.path.isfile(path + '\\' + i):   # 判断是否为文件
                list_file.append(path + '\\' + i)
            else:                                 # 如果为文件夹则将此文件夹再次放到函数里面求该目录里面的内容
                fun2(path + '\\' + i, list_file)
    return list_file
path=r'E:\视频\电视剧'
print(fun1(path))
print(fun2(path))            

***此题调用了:
①os.path.exists(path) : 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False
②os.listdir(path) : 返回path指定的文件夹包含的文件或文件夹的名字的列表
③os.path.isfile(path) : 判断路径是否为文件

⑶、将指定目录下所有的qlv文件按照文件大小的顺序以编号1.2.3……的方式重命名

import os 
def fun3(path):
    """(3)将指定目录下所有的qlv文件按照文件大小的顺序以编号1.2.3……的方式重命名"""
    l1 = []
    k = 1
    for i in fun2(path):                              # 调用第二题中的函数,获取传入目录下所有的文件
        if os.path.splitext(i)[1] == '.qlv':           # 判断函数扩展名是否为qlv
            l1.append(i)
    l1 = sorted(l1, key=lambda x: os.path.getsize(x))    # 以文件大小的方式进行列表排序
    # print(l1)
    for i in l1:
        new_name = os.path.dirname(i) + '\\' + str(k) + os.path.splitext(i)[1]
        os.rename(i, new_name)
        k += 1
path=r'E:\视频\电视剧'
print(fun1(path))
print(fun2(path))
print(fun3(path))

***此题调用了:
①os.path.splitext(path):分割路径,返回路径名和文件扩展名的元组
②os.path.dirname(path):返回文件路径

运行结果如下:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值