python扫描文件

1. python使用OS库扫描指定路径下的文件

(网上找时有些凌乱,整理记录一下,方便需要时用)

a. 可实现扫描指定目录下的文件,或者匹配指定的前、后缀
  • a. 如果要扫描指定目录下的文件,包括子目录,直接调用:ScanFile("/export/home/test/");
  • b. 如果要扫描指定目录下的特定后缀的文件(比如py文件),包括子目录,调用:ScanFile("/export/home/test/", postfix=".py");
  • c. 如果要扫描指定目录下的特定前缀的文件(比如IMGxxx.jpg),包括子目录,调用:ScanFile("/export/home/test/", prefix=“IMG”)。

注意:路径及匹配均大小写敏感

需要包含库
import os
函数实现:
def ScanFile(directory, prefix=None, postfix=None):
    file_list = []
    for root, sub_dirs, files in os.walk(directory):
        for special_file in files:
            # 如果指定前缀或者后缀
            if postfix or prefix:
                # 同时指定前缀和后缀
                if postfix and prefix:
                    if special_file.endswith(postfix) and special_file.startswith(prefix):
                        file_list.append(os.path.join(root, special_file))
                        continue

                # 只指定后缀
                elif postfix:
                    if special_file.endswith(postfix):
                        file_list.append(os.path.join(root, special_file))
                        continue

                # 只指定前缀
                elif prefix:
                    if special_file.startswith(prefix):
                        file_list.append(os.path.join(root, special_file))
                        continue

            # 前缀后缀均未指定
            else:
                file_list.append(os.path.join(root, special_file))
                continue
    # print(file_list)	# 打印出扫描到的文件路径
    return file_list

2. 修改python工程路径到指定目录:

# os.chdir(r'G:\MyProgram\python365\TestFfmpeg\ffmpeg\dll\\')    # 绝对路径
os.chdir(r'.\ffmpeg\dll\\')     # 相对路径
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值