Python 在当前目录以及其子目录下查找文件名包含指定字符串的文件,并打印出相对路径。

import os
def search_file(dir,sname): 
    if sname in os.path.split(dir)[1]: #检验文件名里是否包含sname 
        print(os.path.relpath(dir)) #打印相对路径,相对指相对于当前路径 
    if os.path.isfile(dir):   # 如果传入的dir直接是一个文件目录 他就没有子目录,就不用再遍历它的子目录了
        return 

    for dire in os.listdir(dir): # 遍历子目录  这里的dire为当前文件名 
        search_file(os.path.join(dir,dire),sname) #jion一下就变成了当前文件的绝对路径
                                           # 对每个子目录路劲执行同样的操作

其中:

os.path.isfile(path)

    Return True if path is an existing regular file. This follows symbolic links, so both islink() and isfile() can be true for the same path.
os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 '.''..' 即使它在文件夹中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值