python面试知识总结(五)——遍历目录与子目录,抓取特定类型文件
原创
©著作权归作者所有:来自51CTO博客作者mb60d938b35946c的原创作品,请联系作者获取转载授权,否则将追究法律责任
设计实现遍历目录与子目录,抓取.pyc文件
import os
def get_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
def pick(obj):
if obj.endswith(".pyc"):
print(obj)
def scan_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
def func(fp, postfix):
for i in iglob(f"{fp}/**/*{postfix}", recursive=True):
print(i)
if __name__ == "__main__":
postfix = ".pyc"
func("K:\Python_script", postfix)