zoukankan      html  css  js  c++  java
  • python学习笔记glob模块

    python有许多的类库,现将学习记录下来,以供以后回顾复习:

    1.glob模块

       用于文件名操作,匹配指定目录下的文件,返回的是目录加文件名,常用的有两个函数:

       glob(pattern),返回匹配的文件的列表。

       iglob(pattern),返回生成器,可以遍历匹配的文件。

       示例代码:   

    glob()
    bogon:datasets xuguoqiang$ ls matrixA.txt matrixB.txt test words.txt files
    = glob.glob('*.txt') >>> for file in files: ... print file matrixA.txt matrixB.txt words.txt >>> print files ['matrixA.txt', 'matrixB.txt', 'words.txt']
    iglob():
    >>> files = glob.iglob('*.txt') >>> print files <generator object iglob at 0x1101d9dc0> >>> for file in files: ... print file matrixA.txt matrixB.txt words.txt
    指定相对路径的结果
    >>> import glob >>> print glob.glob(r'../*.txt') ['../test.txt']

    可以看出如果pattern指定为相对路径或绝对路径,返回的文件也会是相对路径或绝对路径。根据实际需要使用。

    注意glob使用的通配符: 

    1、glob使用的通配符只有三个,分别是 * ? []

    2、在glob中,* ? 匹配的是字符,而在emeditor中匹配的是数量。

    3、在glob中,不包括用[!...],而在emedior中不包括则用[^...]

    补充,使用os的listdir也可以得到类似的结果:

    >>> import os
    >>> dir = r'./'
    >>> print os.listdir(dir)
    ['matrixA.txt', 'matrixB.txt', 'test', 'words.txt']

    区别在于,listdir会列出所有的文件名的列表,包括文件夹,但是不包含路径的,需要自己进行匹配和过滤。

  • 相关阅读:
    [Bilingual]魔术农庄里的不变量 Invariants in Magic Farm
    包络线与对偶曲线
    【翻译】拓扑四日谈
    几何观止(经典几何对象)
    [Bilingual] Half of Adcanced Algebra 半本高代习题集
    Luis A. Caffarelli教授的出版作品【1】
    Luis A. Caffarelli教授的出版作品【2】
    Luis A. Caffarelli教授的出版作品【3】
    Untitled
    白云先生推荐书单之夷狄篇
  • 原文地址:https://www.cnblogs.com/chybot/p/4557709.html
Copyright © 2011-2022 走看看