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:\temp>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:\temp>
代码如下:
# -*- 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
Python文件和目录模块介绍:glob、shutil、ConfigParser的更多相关文章
- python基础31[常用模块介绍]
python基础31[常用模块介绍] python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...
- 【转】python文件和目录操作方法大全(含实例)
python文件和目录操作方法大全(含实例) 这篇文章主要介绍了python文件和目录的操作方法,简明总结了文件和目录操作中常用的模块.方法,并列举了一个综合实例,需要的朋友可以参考下一.python ...
- python文件及目录操作
python文件及目录操作 读/写文件 新建/打开文件 写入 #举个例子,打开D:\test\data.txt #以写入模式打开文件 #如果test(上级目录)不存在则报错 #如果data.txt(文 ...
- python文件和目录操作方法大全(含实例)
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目 ...
- 【python】python文件和目录操作方法大全(含实例)
转自:http://www.jb51.net/article/48001.htm 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Pyt ...
- python文件和目录操作方法大全
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和 ...
- python文件和目录操作方法大全(含实例)【python】
转自:http://www.jb51.net/article/48001.htm 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Py ...
- python文件和目录操作方法
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目 ...
- OS -- (python)文件和目录操作方法大全
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目 ...
随机推荐
- show processlist结果筛选(转)
在MySQL里面 show variables where variable_name like '%auto%' 这条语句可以正常执行,但是 show processlist where host ...
- C# WPF DevExpress 图表控件之柱状图
说明:DevExpress版本是17.1.VS是2015. XAML: <!--#region 图表控件--> <dxc:ChartControl x:Name="char ...
- grep与egrep的区别
grep与egrep的区别: 在linux系统环境下,我们通常使用grep命令来过滤出需要的行而egrep确很少使用,他们的区别其实很简单,grep默认不支持正则表达式,egrep默认支持正则表达式, ...
- fabric Node SDK进行连接
yum install gcc-c++ npm install --unsafe-perm --registry=https://registry.npm.taobao.org chmod -R
- eclipse windowbuilder palette 空白
今天在 eclipse 上安装了 windowbuilder 插件,但是 palette 一直是空白的,不能放控件. 版本 eclipse 4.9.0, windowbuilder 1.9.0. 经过 ...
- <Linux> SSH配置之后 SHH slave1 测试 error:SSH: command not found
首先要查看一下ssh命令存在何处 # which ssh /usr/bin/ssh 使用ssh的绝对路径 # /usr/bin/ssh slave1Welcome to Ubuntu 16.04 LT ...
- UVA-10020-贪心
题意:给你一些数轴上的线段,要求寻找出某些线段能够完全覆盖[0,M],并且取的线段数目最小. 解题思路: 贪心思路, 1.每个线段都有一个L和R,代表它的起点和终点,对于所有R <= 0 , ...
- 16.纯 CSS 创作一个渐变色动画边框
原文地址:https://segmentfault.com/a/1190000014785816 感想:边框是伪元素::after来的: HTML代码: <div class="box ...
- Maven运行的方式
1.运行父工程(父工程将各个子模块聚合到一起) 2.直接运行子模块(Web工程)
- MFC 如何在一个窗体中嵌套在另一个窗体中
其中的一个方法是讲子窗体设置为非模式对话框,具体操作为 :设置子窗体的border属性为none,style为 child. 在父窗体中需要用create来实现,具体例子如下. 在父窗体的OnInit ...