python打开文件的方式有哪些


Posted in Python onJune 29, 2020

python下打开文件超级简单,不用导入任何包,直接输入

f = open('your_file.txt','r')

就可以打开一个文件进行操作。第二个参数为对文件的操作方式,'w'是写文件,已存在的同名文件会被清空,不存在则会创建一个;'r'是读取文件,不存在会报错;'a'是在文件尾部添加内容,不存在会创建文件,存在则直接在尾部进行添加;还有'wb'是写二进制文件;'rb'是读取二进制文件,比如图片之类的。

但是这种方式其实不是最好的打开文件的方式,这种方式可能会有这样几个问题:

1、未指定文件编码格式,如果文件编码格式与当前默认的编码格式不一致,那么文件内容的读写将出现错误。

2、如果读写文件有错误,会导致文件无法正确关闭。因为哪怕在后面有

f.close()

语句,但是如果在打开的时候就出现错误,这种打开方式会出现问题。因此,一般来说,不推荐这种打开文件的方式。(我之前其实一直使用这种方法,,虽然也知道其他的方法,但是嫌麻烦一直没怎么用…)

上面的这些问题都是针对python2的,在python3下open函数可以通过encoding参数指定编码方式,而在2中不可以。

在python3下可以直接通过这样来打开一个文件:

f = open('your_file.txt', 'r', encoding='utf-8')

下面的两种方式在python2和python3下都可以使用,因此如果想要让你的代码在2和3下都兼容的话可以尝试下面的两种方法:

import codecs
f1 = codecs.open('your_file1.txt', 'r', 'utf-8') #使用codecs包
f1.close()
import io
f2 = io.open('your_file2.txt', 'r', encoding='utf-8') #使用io包
f2.close()

不知道有没有细心的同学发现上面的打开文件的方式都有瑕疵,下面的方法则是用来解决刚才提到的第二个问题的,也是最推荐的一种打开文件的方式。

import codecs #或者io,使用哪种包无所谓
with codecs.open('your_file.txt', 'r', 'utf-8') as f:
  f.write('This method is prior')

使用with这种上下文环境的方式打开文件,在对文件操作完成后无需通过close()关闭文件,文件会自动关闭,而且安全系数更高。

知识点扩展:

Python中type打开文件的方式

这几天在看《利用Python进行数据分析》,在第六章数据加载、存储、与文件格式中遇到个小问题。

在Linux访问文件是用:!cat ch06/ex1.csv

在Windows命令行中使用:!type ch06\ex1.csv

需要作说明的是:

1.Windows与Linux不同的是win用的“\”添加子目录,而Linux使用“/”添加;

2.win下也可以使用绝对路径进行访问,在所在目录下安如图操作方式进行复制,此时需加引号进行使用:!type “C:\Users\Burette\pydata-book-master\ch06\ex1.csv"

到此这篇关于python打开文件的方式有哪些的文章就介绍到这了,更多相关如何用python打开文件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python编程开发之日期操作实例分析
Nov 13 Python
python3实现抓取网页资源的 N 种方法
May 02 Python
Python装饰器实现几类验证功能做法实例
May 18 Python
Python中标准库OS的常用方法总结大全
Jul 19 Python
Python使用zip合并相邻列表项的方法示例
Mar 17 Python
在python里面运用多继承方法详解
Jul 01 Python
python中selenium操作下拉滚动条的几种方法汇总
Jul 14 Python
Python OpenCV实现鼠标画框效果
Aug 19 Python
深入了解Python装饰器的高级用法
Aug 13 Python
python爬虫线程池案例详解(梨视频短视频爬取)
Feb 20 Python
Python基础之元类详解
Apr 29 Python
pytorch中的model=model.to(device)使用说明
May 24 Python
解决tensorflow/keras时出现数组维度不匹配问题
Jun 29 #Python
python中如何写类
Jun 29 #Python
基于Python的自媒体小助手---登录页面的实现代码
Jun 29 #Python
Python unittest基本使用方法代码实例
Jun 29 #Python
解决keras使用cov1D函数的输入问题
Jun 29 #Python
快速了解Python开发环境Spyder
Jun 29 #Python
使用Keras构造简单的CNN网络实例
Jun 29 #Python
You might like
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
php使用curl模拟登录后采集页面的例子
2013/11/04 PHP
PHP中Laravel 关联查询返回错误id的解决方法
2017/04/01 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
基于jQuery的左右滚动实现代码
2010/12/03 Javascript
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
JavaScript判断DOM何时加载完毕的技巧
2012/11/11 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
2016/08/29 Javascript
微信小程序 JS动态修改样式的实现代码
2017/02/10 Javascript
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
微信小程序—setTimeOut定时器的问题及解决
2019/07/26 Javascript
node.js实现简单的压缩/解压缩功能示例
2019/11/05 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
Python实现获取某天是某个月中的第几周
2015/02/11 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
Python中__repr__和__str__区别详解
2019/11/07 Python
Django 自定义分页器的实现代码
2019/11/24 Python
Python有参函数使用代码实例
2020/01/06 Python
python清空命令行方式
2020/01/13 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
2020/06/15 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
2020/08/28 Python
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
Laura官网:加拿大女性的顶级时尚目的地
2019/09/20 全球购物
优秀的计算机专业求职信范文
2013/12/27 职场文书
竞聘演讲稿范文
2014/01/12 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
部门经理助理岗位职责
2015/04/13 职场文书
高考百日冲刺决心书
2015/09/23 职场文书
Python 文本滚动播放器的实现代码
2021/04/25 Python
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js