zoukankan      html  css  js  c++  java
  • python中的glob模块函数:glob,iglob和escape的使用

    python的glob模块

    glob 是 Unix style pathname pattern expansion 的模块,也就是对符合某些要求的文件和文件夹路径进行查找的模块,返回的是unix style的形式,当然对于Windows的系统,会对反斜线‘’加上转义便于阅读。

    glob模块中的函数

    根据python的documentation,glob里共有三个函数:

    glob.glob(pathname,*,recursive=False)

    返回指定路径和搜索条件下得到的文件列表,list,可能是空的。pathname中支持通配符,和re中的正则表达不一样。
    glob中,*星号表示匹配0到多个字符,?问号表示匹配一个字符,[ ]中括号里面表示范围,和re相同。另外,recursive参数默认false,指的是对pathname制定的那一层扫描得到结果后就返回,如果recursive=True,那么可以用两个星号 ** 遍历制定的路径的所有子目录和子目录里的文件。另外,glob函数默认不搜索以· 点号开头的文件和路径,如果要求的话需要单独写个点号,比如 '*.gif' 就不包含比如:.test.gif ,如果想要得到这个,则通配符应该:'.*.gif'

    glob.iglob(pathname,recursive=False)

    用法基本同上,返回一个python的generator,从而可以依次取值。应该对于处理目录较多的情况比较好,可以节省空间。

    glob.escape(pathname)

    escape可以忽略(escape)所有的特殊字符,就是星号,问号,中括号。

    简单测试

    import glob
    glob.iglob('*.csv')
    Out[88]: <generator object iglob at 0x7f267821a780>
    glob.glob('*.csv')
    Out[89]: 
    ['first_train_index_20180131.csv',
     'first_test_index_20180131.csv',
     'baseline_submission.csv']

    reference:https://docs.python.org/3.5/library/glob.html#module-glob

    2018年03月08日19:42:43

  • 相关阅读:
    Android SDK 在线更新镜像服务器
    Android Studio (Gradle)编译错误
    java ZIP压缩文件
    java文件操作(输出目录、查看磁盘符)
    JXL读取写入excel表格数据
    Linux命令zip和unzip
    Linux查看系统基本信息
    Ubuntu C++环境支持
    Linux开机执行bash脚本
    ubuntu中磁盘挂载与卸载
  • 原文地址:https://www.cnblogs.com/morikokyuro/p/13256785.html
Copyright © 2011-2022 走看看