Python3-常见文本操作场景

一、递归目录输出所有文件

#导入os模块,os模块提供丰富的文件和目录的处理方法
import os

#listdir方法返回path指定文件夹下的包含的文件或者文件夹名字列表,注意:不能递归查询;返回只有名称,不包含路径
dir_list= os.listdir(待查找的路径)

#递归查询指定目录下所有文件,输出格式:路径/文件名
def output_file(file_dir):
    dir_list = os.listdir(file_dir)
    
    #循环获取目录下文件名,并加上路径组成完整文件路径;判断传入的参数是否为文件,决定是否是打印输出还是继续递归查找
    for dir_one in dir_list:
        #将目录和文件名合并成一个路径
        de_path = os.path.join(file_dir, dir_one)

        if os.path.isfile(de_path):
            print(de_path)
        else:
            output_file(de_path)

#递归查询指定目录下所有文件,输出格式:文件名
def output_file_basename(file_dir):
    dir_list = os.listdir(file_dir)
    
    #循环获取目录下文件名,并加上路径组成完整文件路径;判断传入的参数是否为文件,决定是否是打印输出还是继续递归查找
    for dir_one in dir_list:
        #将目录和文件名合并成一个路径
        de_path = os.path.join(file_dir, dir_one)

        if os.path.isfile(de_path):
            print(os.path.basename(de_path))
        else:
            output_file_basename(de_path)

 

二、输出指定类型文件

如:输出以.robot结尾的文件

# 递归查询指定目录下所有文件,输出格式:文件名
def output_basename_file(file_dir):
    dir_list = os.listdir(file_dir)

    # 循环获取目录下文件名,并加上路径组成完整文件路径;判断传入的参数是否为文件,决定是否是打印输出还是继续递归查找
    for dir_one in dir_list:
        # 将目录和文件名合并成一个路径
        de_path = os.path.join(file_dir, dir_one)

        if os.path.isfile(de_path) and de_path.endswith('.robot'):
            print(os.path.basename(de_path))
        elif os.path.isfile(de_path):
            continue
        else:
            output_basename_file(de_path)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值