Hom's Blog


Python:glob模块

主要作为是获取匹配模式的目录和文件名, 类似于Unix的find指令, 当然, 只是个文件名匹配, 功能还是远没有find强大.

方法

  • glob.glob(pathname): 返回找到匹配的文件/目录的列表. 支持*?[]的简单通配符匹配(对于.开头文件特殊处理,不被*?匹配)
  • glob.iglob(pathname): glob方法类似, 但返回的是迭代器, 迭代出每个结果. 对于大量文件时更为省内存.
  1. 建议在for循环中使用iglob方法.
  2. 注意匹配返回的是和路径格式相关的. 例如pname为 ./*.pdf搜出来 “./a.pdf”, 而*.pdf返回 “a.pdf”.
  3. 对于目录, *找出来的是目录名+文件名, */ 找出来的是 “a/” 或者 a\\(window下). 可以进一步strip(‘/’).strip(‘\‘)去掉. 也可以用os.path.isdir()判断是否目录

另外, glob模块还有以下东东:

  • glob.glob0(dir,path): 要是存在dir+os.sep+path 就返回[path]. 基础判断函数, 用来加法吧..
  • glob.glob1(dir,pattern): 就是返回目录下匹配模式的. glob主要靠他.
  • glob.has_magic(s) : 判断字符串里是否有通配符, 有就返回True.
  • glob.magic_check : 一个re的正则表达式对象
  • glob.re/os/sys/fnmatch: 用到的模块


◆ 本文地址: http://platinhom.github.io/2015/12/24/py-glob/, 转载请注明 ◆

前一篇: html:iframe嵌入框架
后一篇: Markdown链接括号的问题


Contact: Hom / 已阅读()
Source 类别: Coding  标签: Python