python glob模块

一、 glob模块通配符
在这里插入图片描述
1.当前路径下所有py文件

for fname in glob.glob("**/*.py",recursive=True):
    print(fname)

2.当前路径文件tmp下py文件

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
for fname in glob.glob("./tmp/*.py"):
    print(fname)

3.单字通配符?,当前路径文件下以file开头后有一个字符的py文件

for fname in glob.glob("./file?.py"):
    print(fname)

4.范围通配符[],当前路径文件下以file开头后一个数字符的py文件

for fname in glob.glob("./file[0-9].py"):
    print(fname)

5.范围通配符[],当前路径文件下以file开头后一个非数字符的py文件

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
for fname in glob.glob("./file[!0-9].py"):
    print(fname)

二、glob模块iglob 返回iterator执行效率更高
1.当前路径文件tmp下py文件,使用iglob,返回迭代器效率更高

for fname in glob.iglob("./tmp/*.py"):
    print(fname)

三、其他
1.转移字符

specials = '?*['

for char in specials:
    pattern = '**/*' + glob.escape(char) + '.txt'
    print('Searching for: {!r}'.format(pattern))
    for name in sorted(glob.glob(pattern,recursive=True)):
        print(name)
    print()
posted @ 2022-10-07 20:34  I'm_江河湖海  阅读(12)  评论(0)    收藏  举报