• Python文件和目录模块介绍:glob、shutil、ConfigParser


    glob模块

       查找符合特定规则的文件路径名,路径名可以使用绝对路径也可以使用相对路径。查找文件会使用到三个通配符,星号*,问号?和中括号[],其中"*"表示匹配0~n个字符,

    "?"表示匹配任意1个字符;"[]"表示匹配指定范围内的字符,如[0-9]匹配数字。

      常用函数

    glob.glob() 获取所有匹配的文件路径列表
    glob.iglob() 获取一个可遍历对象,使用它可以逐个获取匹配的文件路径名。与glob()的区别是:glob()一次获取所有匹配路径。而iglob()一次只获取一个匹配路径。

      实例

    >>> import glob
    >>> glob.glob('/home/test1/*.txt') #查找/home/test1目录下所有以.txt为后缀的文件
    ['/home/test1/2.txt', '/home/test1/11.txt', '/home/test1/10.txt', '/home/test1/1.txt']
    >>> glob.glob('/home/*/*.txt') #查找/home目录下所有以.txt为后缀的文件
    ['/home/test2/2.txt', '/home/test2/11.txt', '/home/test2/10.txt', '/home/test2/1.txt', '/home/test1/2.txt', '/home/test1/11.txt', '/home/test1/10.txt', '/home/test1/1.txt']
    >>> glob.glob('/home/test1/1*.txt') #查找/home/test1目录下1.txt文件以及所有以1开头后跟任意1个字符的.txt为后缀的文件
    ['/home/test1/11.txt', '/home/test1/10.txt', '/home/test1/1.txt']
    >>> glob.glob('/home/test1/1?.txt') #查找/home/test1目录下所有以1开头后跟1个字符的.txt为后缀的文件
    ['/home/test1/11.txt', '/home/test1/10.txt']

    shutil模块

      shutil模块是对os模块中文件操作的补充,提供文件和目录的移动、复制、打包、压缩、解压等功能

      常用函数

    shutil.copyfile(src, dst) 复制文件, 如果dst已存在则覆盖
    shutil.move(src, dst)  移动文件或重命名
    shutil.copymode(src, dst) 只拷贝权限。文件内容、组、用户均不变
    shutil.copystat(src, dst) 复制权限、最后访问时间、最后修改时间
    shutil.copy(src, dst)  复制一个文件到一个文件或一个目录
    shutil.copy2(src, dst)  复制文件和状态信息,类似于shell中的cp –p命令
    shutil.copytree(olddir, newdir, symlinks=False, ignore=None) 递归复制文件夹
    shutil.rmtree(src) 递归删除目录以及目录内的所有内容
    shutil.make_archive(base_name, format,...) 创建压缩包并返回文件路径,shutil 对压缩包的处理是通过调用ZipFile 和 TarFile两个模块来进行的

      实例

    >>> import shutil
    >>> shutil.copy('1.txt','1_copy.txt')
    >>> shutil.move('1_copy.txt','1_move.txt')

     ConfigParser模块

      configparser模块可以用于处理特定格式的配置文件。主要用到ConfigParser.ConfigParser()类。详细介绍见Python文档:ConfigParser介绍

    常用函数

    ConfigParser.add_section(section)    创建一个新的部分配置
    ConfigParser.get(section, option, raw=False, vars=None)    获取部分中的选项值,返回字符串
    ConfigParser.getboolean(section, option)    获取部分中的选项值,返回布尔值
    ConfigParser.getfloat(section, option)    获取部分中的选项值,返回浮点数
    ConfigParser.getint(section, option)    获取部分中的选项值,返回整数
    ConfigParser.has_option(section, option)    检查部分中是否存在这个选项
    ConfigParser.has_section(section)    检查部分是否在配置文件中
    ConfigParser.items(section, raw=False, vars=None)    列表元组形式返回部分中的每一个选项
    ConfigParser.options(section)    列表形式返回指定部分选项名称
    ConfigParser.read(filenames)    读取ini格式的文件
    ConfigParser.remove_option( section, option)    移除部分中的选项
    ConfigParser.remove_section(section, option)    移除部分
    ConfigParser.sections()    列表形式返回所有部分名称
    ConfigParser.set(section, option, value)    设置选项值,存在则更新,否则添加
    ConfigParser.write(fp)    写一个ini格式的配置文件

     实例一:读取配置文件内容,假设测试文件为servers.ini,文件。内容如下

    d:	emp>type servers.ini
    [Server_1]
    ip = 192.168.0.1
    username = root
    password = root
    
    [Server_2]
    ip = 192.168.0.2
    username = oracle
    password = oracle
    d:	emp>

    代码如下:

    # -*- coding: utf-8 -*-
    
    from ConfigParser import ConfigParser
    
    fp = ConfigParser()
    fp.read('servers.ini')
    sections = fp.sections()
    print sections
    
    options = fp.options('Server_1')
    print options
    
    ip_1 = fp.get('Server_1','ip')
    user_1 = fp.get('Server_1','username')
    pwd_1 = fp.get('Server_1','password')
    print ip_1,user_1,pwd_1

     输出结果如下:

    ['Server_1', 'Server_2']
    ['ip', 'username', 'password']
    192.168.0.1 root root
  • 相关阅读:
    编程用外星人宏建设置教程(在网上找了好久没几个相关帖子,自己研究写下来留个备忘吧)
    通过selenium+pyautogui模拟登陆淘宝(完美实现)
    python之字符串的五种拼接方式
    python之批量文件重命名
    爬虫系列之链家的信息爬取及数据分析
    跟潭州学院的强子老师学习网络爬虫---爬取全书网
    Python之编写测试用例,unittest模块中的TestCase类中的六种断言方法,以及setUp()函数。
    Python学习之路
    GridBagLayout的帮助类
    eclipse和cygwin搭建C++环境的修正版本
  • 原文地址:https://www.cnblogs.com/linyfeng/p/8278621.html
Copyright © 2020-2023  润新知