博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python文件和目录模块介绍:glob、shutil、ConfigParser
阅读量:4322 次
发布时间:2019-06-06

本文共 3084 字,大约阅读时间需要 10 分钟。

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.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:\temp>type servers.ini[Server_1]ip = 192.168.0.1username = rootpassword = root[Server_2]ip = 192.168.0.2username = oraclepassword = oracled:\temp>

代码如下:

# -*- coding: utf-8 -*-from ConfigParser import ConfigParserfp = ConfigParser()fp.read('servers.ini')sections = fp.sections()print sectionsoptions = fp.options('Server_1')print optionsip_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

 

转载于:https://www.cnblogs.com/linyfeng/p/8278621.html

你可能感兴趣的文章
Hadoop以及组件介绍
查看>>
1020 Tree Traversals (25)(25 point(s))
查看>>
第一次作业
查看>>
“==”运算符与equals()
查看>>
单工、半双工和全双工的定义
查看>>
Hdu【线段树】基础题.cpp
查看>>
时钟系统
查看>>
BiTree
查看>>
5个基于HTML5的加载动画推荐
查看>>
水平权限漏洞的修复方案
查看>>
静态链接与动态链接的区别
查看>>
Android 关于悬浮窗权限的问题
查看>>
如何使用mysql
查看>>
linux下wc命令详解
查看>>
敏捷开发中软件测试团队的职责和产出是什么?
查看>>
在mvc3中使用ffmpeg对上传视频进行截图和转换格式
查看>>
python的字符串内建函数
查看>>
Spring - DI
查看>>
微软自己的官网介绍 SSL 参数相关
查看>>
Composite UI Application Block (CAB) 概念和术语
查看>>