详解Python文本操作相关模块


Posted in Python onJune 22, 2017

详解Python文本操作相关模块

linecache——通过使用缓存在内部尝试优化以达到高效从任何文件中读出任何行。

主要方法:

linecache.getline(filename, lineno[, module_globals]):获取指定行的内容 
linecache.clearcache():清除缓存 
linecache.checkcache([filename]):检查缓存的有效性

dircache——定义了一个函数,使用缓存读取目录列表、使用目录的mtime来实现缓存失效。此外还定义了标注目录的方法。

主要方法:

dircache.reset():重置目录缓存。 
dircache.listdir(path):返回path的目录列表。除非path改变,否则再次调该方法会会重复读目录结构。 
dircache.opendir(path):和listdir功能相同。存在的目的是为了后向兼容。 
dircache.annotate(head,list):假设list是相对于head的路径列表,那么在合适的位置给每个是目录的路径添加“/”

filecmp——定义了文件和目录比较的函数。

主要方法:

filecmp.cmp(f1, f2[, shallow]):比较两个文件是非相等 
filecmp.cmpfiles(dir1, dir2, common[, shallow]):比较两个目录下的相同文件名的文件是非相等。

类: class filecmp.dircmp(a, b[, ignore[, hide]]):构建一个新的目录比较对象,比较a和b。

fileinput——实现了辅助类和方法来帮助实现对标准输入或一串文本快速操作。

主要方法:

fileinput.input([files[, inplace[, backup[, bufsize[, mode[, openhook]]]]]]):创建一个 FileInput实体。 
fileinput.filename():返回当前读取的文件名 
fileinput.lineno():返回累积读取的行数 
fileinput.nextfile():关闭当前行,下个迭代会跳到去读取下一个文件的第一行。 
类: class fileinput.FileInput([files[, inplace[, backup[, bufsize[, mode[, openhook]]]]]])

os.path——包括路径以及文件属性方面的操作。

主要方法:

os.path.abspath(path):返回path的绝对路径 
os.path.dirname(path):返回path的目录名称 
os.path.exists(path):判断路径是否存在 
os.path.getatime(path):返回path上次访问的时间 
os.path.getmtime(path):返回path上次修改时间

shutil——提供了一些文件和文件集方面的高级操作。

主要方法:

shutil.copyfileobj(fsrc, fdst[, length]):将类文件对象fsrc的内容复制到类文件对象fdst 
shutil.copyfile(src, dst):将文件src的内容(不包括元数据)的内容复制到文件dst 
shutil.copymode(src, dst):将src的权限位复制给dst 
shutil.copystat(src, dst):复制权限位、最近访问时间、最近修改时间和flags。 
shutil.copy(src, dst):复制文件src到文件或目录dst。权限位也会被复制。 
shutil.copy2(src, dst):和copy()不同之处是还会复制元数据。类似先copy(),再copystat() 
shutil.rmtree(path[, ignore_errors[, onerror]]):删除整个目录树 
shutil.move(src, dst):递归移动文件或路径

除了操作一般文件,还能操作归档文件

shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]]):创建归档文件。 
tempfile—— 生成临时文件和目录

主要方法:

tempfile.TemporaryFile([mode='w+b'[, bufsize=-1[, suffix=”[, prefix='tmp'[, dir=None]]]]]):返回一个能够作为临时存储区域的类文件对象。 
tempfile.mkstemp([suffix=”[, prefix='tmp'[, dir=None[, text=False]]]]):以尽可能最安全的方式创建一个临时文件。

stat——返回文件的系统状态信息等。

struct——二进制文件的操作。包括二进制数据类型和str之间的转换。

除此之外,还有其他专门针对特定类型文件(类文件)操作的模块。比如: lxml、CSV、 zipfile、 tarfile等。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
win10环境下python3.5安装步骤图文教程
Feb 03 Python
python 爬虫出现403禁止访问错误详解
Mar 11 Python
读取本地json文件,解析json(实例讲解)
Dec 06 Python
Python+Pandas 获取数据库并加入DataFrame的实例
Jul 25 Python
在Python中关于使用os模块遍历目录的实现方法
Jan 03 Python
Python模块的加载讲解
Jan 15 Python
浅谈python 中类属性共享的问题
Jul 02 Python
python之array赋值技巧分享
Nov 28 Python
Python接口测试结果集实现封装比较
May 01 Python
Pymysql实现往表中插入数据过程解析
Jun 02 Python
详解python如何引用包package
Jun 07 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
Feb 07 Python
python字符串过滤性能比较5种方法
Jun 22 #Python
Python编程实现的简单Web服务器示例
Jun 22 #Python
Python实现复杂对象转JSON的方法示例
Jun 22 #Python
Collatz 序列、逗号代码、字符图网格实例
Jun 22 #Python
基于Python3 逗号代码 和 字符图网格(详谈)
Jun 22 #Python
Tornado协程在python2.7如何返回值(实现方法)
Jun 22 #Python
使用python在本地电脑上快速处理数据
Jun 22 #Python
You might like
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
2013/04/26 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
2007/04/20 Javascript
JS 操作Array数组的方法及属性实例解析
2014/01/08 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
JavaScript实现与使用发布/订阅模式详解
2019/01/19 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
pyside写ui界面入门示例
2014/01/22 Python
python 容器总结整理
2017/04/04 Python
Django实现快速分页的方法实例
2017/10/22 Python
Python使用folium excel绘制point
2019/01/03 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
python实现小世界网络生成
2019/11/21 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
有原因的手表:Flex Watches
2019/03/23 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
酒店服务实习自我鉴定
2013/09/22 职场文书
护理职业应聘自荐书
2013/09/29 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
思想品德评语大全
2014/12/31 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
laravel添加角色和模糊搜索功能的实现代码
2021/06/22 PHP