Python技术特点——使用Glob()查找文件

    技术2022-07-10  145

    大多Python函数有着长且具有描述性的名字。但是命名为glob()的函数你可能不知道它是干什么的除非你从别处已经熟悉它了。

    它像是一个更强大版本的listdir()函数。它可以让你通过使用模式匹配来搜索文件。

    import glob

    # get all py files

    files = glob.glob(’*.py’)

    print files

    # Output

    # [‘arg.py’, ‘g.py’, ‘shut.py’, ‘test.py’]

    你可以像下面这样查找多个文件类型:

    import itertools as it, glob

    def multiple_file_types(*patterns):

    return it.chain.from_iterable(glob.glob(pattern) for pattern in patterns)

    for filename in multiple_file_types(".txt", ".py"): # add as many filetype arguements

    print filename

    # output

    #=========#

    # test.txt

    # arg.py

    # g.py

    # shut.py

    # test.py

    如果你想得到每个文件的绝对路径,你可以在返回值上调用realpath()函数:

    import itertools as it, glob, os

    def multiple_file_types(*patterns):

    return it.chain.from_iterable(glob.glob(pattern) for pattern in patterns)

    for filename in multiple_file_types(".txt", ".py"): # add as many filetype arguements

    realpath = os.path.realpath(filename)

    print realpath

    # output

    #=========#

    # C:\xxx\pyfunc\test.txt

    # C:\xxx\pyfunc\arg.py

    # C:\xxx\pyfunc\g.py

    # C:\xxx\pyfunc\shut.py

    # C:\xxx\pyfunc\test.py

    Processed: 0.009, SQL: 9