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