浅析使用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设计模式之观察者模式实例
Apr 26 Python
使用Python编写提取日志中的中文的脚本的方法
Apr 30 Python
python中字典(Dictionary)用法实例详解
May 30 Python
用Python PIL实现几个简单的图片特效
Jan 18 Python
Django rstful登陆认证并检查session是否过期代码实例
Aug 13 Python
python 求定积分和不定积分示例
Nov 20 Python
pycharm双击无响应(打不开问题解决办法)
Jan 10 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
Dec 17 Python
Python中OpenCV实现简单车牌字符切割
Jun 11 Python
Python Pandas pandas.read_sql_query函数实例用法分析
Jun 21 Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 Python
Python 装饰器(decorator)常用的创建方式及解析
Apr 24 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 cli 方式 在crotab中运行解决
2010/02/08 PHP
php 无法载入mysql扩展
2010/03/12 PHP
PHP file_exists问题杂谈
2012/05/07 PHP
php实现字符串首字母大写和单词首字母大写的方法
2015/03/14 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
php实现QQ小程序发送模板消息功能
2019/09/18 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
jQuery基于扩展简单实现倒计时功能的方法
2016/05/14 Javascript
使用jQuery实现WordPress中的Ctrl+Enter和@评论回复
2016/05/21 Javascript
js变量提升深入理解
2016/09/16 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
前端开发不得不知的10个最佳ES6特性
2017/08/30 Javascript
jQuery实现数字华容道小游戏(实例代码)
2020/01/16 jQuery
vue中keep-alive、activated的探讨和使用详解
2020/07/26 Javascript
详解vue 组件注册
2020/11/20 Vue.js
微信小程序 接入腾讯地图的两种写法
2021/01/12 Javascript
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
Python之ReportLab绘制条形码和二维码的实例
2018/01/15 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
2020/05/27 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
2020/03/02 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
鲜花方阵解说词
2014/02/13 职场文书
文明演讲稿范文
2014/05/12 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
疾病证明书
2015/06/19 职场文书
车位出租协议书范本
2016/03/19 职场文书
祝福语集锦:送给闺蜜的生日祝福语
2019/10/08 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis
JDK8中String的intern()方法实例详细解读
2022/09/23 Java/Android