美文网首页
【python】glob模块

【python】glob模块

作者: 我写的BUG代码少 | 来源:发表于2020-05-09 15:41 被阅读0次
    目录

    glob模块

    glob模块通配符

    通配符 功能
    * 匹配0或多个字符
    ** 匹配路径下 “所有文件的名字”及“所有子目录的文件夹名”(3.5版本新增)
    匹配一个字符,这里与正则表达式? (正则?匹配前面表达式0次或者1次)
    [] 匹配指定范围内的字符,如: [1-9]匹配1至9内的字符
    [!] 匹配不在指定范围内的字符

    操作

    文件
    import glob
    glob.glob('path\\通配符')
    '''
    文件类型属于文件名的一部分
    整体文件名 eg. 3.1.xlsx
    '''
    

    通配符 *

    • 匹配0或多个字符
    
    glob.glob('C:\\Users\\Cassie\\Desktop\\test\\*')
    '''
    或
    glob.glob('C:\\Users\\Cassie\\Desktop\\test\\*.xlsx')
    glob.glob('C:\\Users\\Cassie\\Desktop\\test\\3*')
    '''
    >>>
    ['C:\\Users\\Cassie\\Desktop\\test\\3.1.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.2.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.3.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.4.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.5.xlsx']
    
    
    glob.glob('C:\\Users\\Cassie\\Desktop\\test\\*1*')
    '''
    或
    glob.glob('C:\\Users\\Cassie\\Desktop\\test\\*1.xlsx')
    
    '''
    >>>
    ['C:\\Users\\Cassie\\Desktop\\test\\3.1.xlsx']
    

    通配符 **

    • 匹配路径下 “所有文件的名字”及“所有子目录的文件夹名”(3.5版本新增)
    glob.glob('C:\\Users\\Cassie\\Desktop\\**')
    >>>
    
    ['C:\\Users\\Cassie\\Desktop\\desktop.ini',
     'C:\\Users\\Cassie\\Desktop\\iterrows.jpg',
     'C:\\Users\\Cassie\\Desktop\\TEMP',
     'C:\\Users\\Cassie\\Desktop\\test',
     'C:\\Users\\Cassie\\Desktop\\在职证明.docx',
     'C:\\Users\\Cassie\\Desktop\\正则指引.pdf']
    
    glob.glob('C:\\Users\\Cassie\\Desktop\\test\\**')  #路径+**
    >>>
    ['C:\\Users\\Cassie\\Desktop\\test\\3.1.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.2.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.3.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.4.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.5.xlsx']
    

    通配符 ?

    • 匹配一个字符,这里与正则表达式? (正则?匹配前面表达式0次或者1次)
    glob.glob('C:\\Users\\Cassie\\Desktop\\test\\???.xlsx')
    '''
    或
    glob.glob('C:\\Users\\Cassie\\Desktop\\test\\3.?.xlsx')
    '''
    >>>
    ['C:\\Users\\Cassie\\Desktop\\test\\3.1.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.2.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.3.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.4.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.5.xlsx']
    
    glob.glob('C:\\Users\\Cassie\\Desktop\\test\\?.1.xlsx')
    '''
    glob.glob('C:\\Users\\Cassie\\Desktop\\test\\?.1*')
    
    '''
    >>>
    ['C:\\Users\\Cassie\\Desktop\\test\\3.1.xlsx']
    

    通配符 []

    • 匹配指定范围内的字符,如: [1-9]匹配1至9内的字符
    glob.glob('C:\\Users\\Cassie\\Desktop\\test\\3.[1-3].xlsx')
    '''
    或
    glob.glob('C:\\Users\\Cassie\\Desktop\\test\\*[1-3].xlsx')
    '''
    >>>
    ['C:\\Users\\Cassie\\Desktop\\test\\3.1.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.2.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.3.xlsx']
    

    通配符 [!]

    • 匹配不在指定范围内的字符
    glob.glob('C:\\Users\\Cassie\\Desktop\\test\\*[!1-3].xlsx')
    >>>
    ['C:\\Users\\Cassie\\Desktop\\test\\3.4.xlsx',
     'C:\\Users\\Cassie\\Desktop\\test\\3.5.xlsx']
    

    相关文章

      网友评论

          本文标题:【python】glob模块

          本文链接:https://www.haomeiwen.com/subject/sgmknhtx.html