浅析使用Python操作文件


Posted in Python onJuly 31, 2017

1. file=open('xxx.txt', encoding='utf-8'),open()函数是Python内置的用于对文件的读写操作,返回的是文件的流对象(而不是文件本身,所以使用的方法都是流对象的方法)。使用这个函数时推荐指定encoding参数(Python2.7.x中好像不支持),因为Python代码在不同的平台环境中使用的默认编码方式不同,有可能会发生编译出错的问题。

2. 在open中的第一个文件名的的参数中,包含的路径表示虽然可以根据不同的环境使用斜杠和反斜杠,但在Python中表路径时,斜杠都是正确的。

3. file(流对象,open的默认模式下的返回值)的一些方法,使用for循环对file进行迭代时,每次迭代都会自动分离出一行(效果相当于对readlines结果的for循环遍历):
•file.name:获取文件的文件名(包含路径),即传入open文件名参数;
•file.encoding:获取文件的编码方式;
•file.mode:获取文件的访问方式,若没有指定这个参数,open的默认访问方式为只读“r”;
•file.closed:返回文件是否关闭的状态;
•file.close():关闭文件(使用完一定及时使用这个函数关闭文件);
•file.read():从当前定位(一般就是文件开始处)获取文件内容,返回整个文件内容的字符串(此时定位在文件尾,若再使用read()方法,会返回空字符串,因为已经到文件尾了),若指定了需要获取的 字符 数(可以给read方法传入参数,比如:read(3)表示从当前定位往后读取3个字符),则返回指定字符数的字符串。注意不能从一个字符的中间字节处读取,因为有的字符(比如中文)的表示不止一个字节,而定位是以字节来计算位置的,read()是以字符来计数的;
•file.seek(n):使定位到特定 字节 处(若使用read()方法读完文件后还想再读取一次文件,可以使用seek(0)重新定位到文件开始处再读取);
•file.tell():返回当前定位的字节位置;
•file.readline():读取文件中的一行,并定位到下一行的开始处;
•file.readlines():读取文件中的所有行,返回所有行为元素组成的列表;

4. 使用open进行文件操作使建议使用with创建运行环境,可以不用close()方法关闭文件,无论在文件使用中遇到什么问题都能安全的退出,即使发生错误,退出运行时环境时也能安全退出文件并给出报错信息。

# 使用with创建运行时环境
with open('xxx.text', encoding='utf-8') as file:
  file_content = file.read()
  file.seek(0)
  file_ten_characters = file.read(10)
  print(file_content)
  print(file_ten_characters) #执行完with中的代码后自动退出运行时环境
Python 相关文章推荐
python自动化测试之连接几组测试包实例
Sep 28 Python
Python读写unicode文件的方法
Jul 10 Python
十个Python程序员易犯的错误
Dec 15 Python
200行自定义python异步非阻塞Web框架
Mar 15 Python
解决python升级引起的pip执行错误的问题
Jun 12 Python
Python3使用Matplotlib 绘制精美的数学函数图形
Apr 11 Python
elasticsearch python 查询的两种方法
Aug 04 Python
python3将变量写入SQL语句的实现方式
Mar 02 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 Python
Django使用list对单个或者多个字段求values值实例
Mar 31 Python
基于python实现matlab filter函数过程详解
Jun 08 Python
详解Python flask的前后端交互
Mar 31 Python
Python字典实现简单的三级菜单(实例讲解)
Jul 31 #Python
Python中read()、readline()和readlines()三者间的区别和用法
Jul 30 #Python
深入探究Django中的Session与Cookie
Jul 30 #Python
python中numpy包使用教程之数组和相关操作详解
Jul 30 #Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
Jul 30 #Python
Python利用BeautifulSoup解析Html的方法示例
Jul 30 #Python
利用python获取当前日期前后N天或N月日期的方法示例
Jul 30 #Python
You might like
php简单压缩css样式示例
2016/09/22 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
JavaScript事件列表解说
2006/12/22 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
在父页面得到zTree已选中的节点的方法
2015/02/12 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
深入理解Promise.all
2018/08/08 Javascript
详解ESLint在Vue中的使用小结
2018/10/15 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛 5 24 iG VS DK
2014/05/26 DOTA
python 测试实现方法
2008/12/24 Python
一个基于flask的web应用诞生(1)
2017/04/11 Python
python中requests小技巧
2017/05/10 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
Tesserocr库的正确安装方式
2018/10/19 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
python使用正则表达式匹配txt特定字符串(有换行)
2020/12/09 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
html5 Canvas绘制线条 closePath()实例代码
2012/05/10 HTML / CSS
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
明信片寄语大全
2014/04/08 职场文书
体操比赛口号
2014/06/10 职场文书
推普周国旗下讲话稿
2014/09/21 职场文书
2014年个人委托书范本
2014/10/13 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
2016高中社会实践心得体会范文
2016/01/14 职场文书
MySQL大小写敏感的注意事项
2021/05/24 MySQL
MySQL CHAR和VARCHAR该如何选择
2021/05/31 MySQL
vue-cli3.x配置全局的scss的时候报错问题及解决
2022/04/30 Vue.js
Redis过期数据是否会被立马删除
2022/07/23 Redis