Python 文件处理注意事项总结


Posted in Python onApril 10, 2017

Python 文件处理注意事项总结

文件处理在编程中是常见的操作,文件的打开,关闭,重命名,删除,追加,复制,随机读写非常容易理解和使用。需要注意的是文件的安全关闭,采用with语句轻松便捷:

with open(pathname,”r”) as myfile: 
do_some_with(myfile)

1.CSV 的文件处理

csv 模块可以很好地处理csv文件,而Pandas 模块则可以较好的处理大型的csv文件,还可以处理HTML等,并提供分块处理。

2.XML 的文件处理

对于较小的xml文件,最好使用cElementTree,至少要用ElementTree,对于大型文件,最好用lxml处理。

3.文件内容的序列化和范序列化

用pickle 实现序列化和反序列化非常简单dump()和load()即可,但要注意,pickle不能实现原子化操作,数据源敏感,存在安全隐患。另一种序列化的形式是json。同样是dumps(),load(),扩展性好,可以指定decoder,性能比pickle差一些。

4.日志文件处理

在记录日志文件使用logging 模块是要注意logging是线程安全的,避免多个进程同时写入同一个日志。

5.图像文件处理

对于通常的文件的图像处理,PIL 模块足以应付了。在Linux环境下要注意相关图像库的安装,一般ImageMagick 库是首选。如果涉及图像识别等深层次图像处理,就要寻求OpenCV的帮助了

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

Python 相关文章推荐
python网络编程学习笔记(三):socket网络服务器
Jun 09 Python
Python编写简单的HTML页面合并脚本
Jul 11 Python
python itchat实现微信自动回复的示例代码
Aug 14 Python
Python获取指定字符前面的所有字符方法
May 02 Python
pandas 按照特定顺序输出的实现代码
Jul 10 Python
Python测试网络连通性示例【基于ping】
Aug 03 Python
Python实现提取XML内容并保存到Excel中的方法
Sep 01 Python
python利用Tesseract识别验证码的方法示例
Jan 21 Python
在pycharm中配置Anaconda以及pip源配置详解
Sep 09 Python
python列表推导式操作解析
Nov 26 Python
Numpy中ndim、shape、dtype、astype的用法详解
Jun 14 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
Jun 29 Python
python非递归全排列实现方法
Apr 10 #Python
python 生成器生成杨辉三角的方法(必看)
Apr 10 #Python
Python贪吃蛇游戏编写代码
Oct 26 #Python
OpenCV实现人脸识别
Apr 07 #Python
python使用opencv进行人脸识别
Apr 07 #Python
Python 实现链表实例代码
Apr 07 #Python
python中如何使用朴素贝叶斯算法
Apr 06 #Python
You might like
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
9个经典的PHP代码片段分享
2014/12/18 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
javascript的键盘控制事件说明
2008/04/15 Javascript
使弱类型的语言JavaScript变强势
2009/06/22 Javascript
js 自定义的联动下拉框
2010/02/07 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
javascript笔记 String类replace函数的一些事
2011/09/22 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
2015/07/27 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
vue中input的v-model清空操作
2019/09/06 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
python模块导入的细节详解
2018/12/10 Python
对django xadmin自定义菜单的实例详解
2019/01/03 Python
详解python3 + Scrapy爬虫学习之创建项目
2019/04/12 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
瑜伽灵感珠宝:Satya Jewelry
2018/01/06 全球购物
建筑自我鉴定
2013/10/19 职场文书
2014年宣传工作总结
2014/11/18 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
Python re.sub 反向引用的实现
2021/07/07 Python
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript
总结高并发下Nginx性能如何优化
2021/11/01 Servers