import os
defget_files(dir,suffix):
res =[]for root,dirs,files in os.walk(dir):for filename in files:
name,suf = os.path.splitext(filename)if suf == suffix:
res.append(os.path.join(root,filename))print(res)
get_files("./",'.pyc')
roots
代表需要遍历的根文件夹
root
表示正在遍历的文件夹的名字(根/子)
dirs
记录正在遍历的文件夹下的子文件夹集合
files
记录正在遍历的文件夹中的文件集合
第二种方法:
import os
defpick(obj):if obj.endswith(".pyc"):print(obj)defscan_path(ph):
file_list = os.listdir(ph)for obj in file_list:if os.path.isfile(obj):
pick(obj)elif os.path.isdir(obj):
scan_path(obj)if __name__=='__main__':
path =input('输入目录')
scan_path(path)
第三种方法
from glob import iglob
deffunc(fp, postfix):for i in iglob(f"{fp}/**/*{postfix}", recursive=True):print(i)if __name__ =="__main__":
postfix =".pyc"
func("K:\Python_script", postfix)