浅析使用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实现2014火车票查询代码分享
Jan 10 Python
剖析Django中模版标签的解析与参数传递
Jul 21 Python
Python和Perl绘制中国北京跑步地图的方法
Mar 03 Python
python 提取key 为中文的json 串方法
Dec 31 Python
django多对多表的创建,级联删除及手动创建第三张表
Jul 25 Python
python3调用windows dos命令的例子
Aug 14 Python
Pycharm 字体大小调整设置的方法实现
Sep 27 Python
python 弧度与角度互转实例
Apr 15 Python
Python如何绘制日历图和热力图
Aug 07 Python
jupyter 添加不同内核的操作
Feb 06 Python
python上下文管理的使用场景实例讲解
Mar 03 Python
ubuntu安装jupyter并设置远程访问的实现
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
全国FM电台频率大全 - 19 广东省
2020/03/11 无线电
php REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
使用php统计字符串中中英文字符的个数
2013/06/23 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
判断js对象是否拥有某一个属性的js代码
2013/08/16 Javascript
JS获取IP、MAC和主机名的五种方法
2013/11/14 Javascript
jquery处理json对象
2014/11/03 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
常用DOM整理
2015/06/16 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
微信小程序链接传参并跳转新页面
2016/11/29 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
基于jQuery的表单填充实例
2017/08/22 jQuery
JavaScript实现连连看连线算法
2019/01/05 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
解决elementui表格操作列自适应列宽
2020/12/28 Javascript
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
Python2.x与Python3.x的区别
2016/01/14 Python
Go语言基于Socket编写服务器端与客户端通信的实例
2016/02/19 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
使用python绘制3维正态分布图的方法
2018/12/29 Python
python设置环境变量的作用和实例
2019/07/09 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
Python定时器线程池原理详解
2020/02/26 Python
应聘教师推荐信
2013/10/31 职场文书
竞选文艺委员演讲稿
2014/04/28 职场文书
师德师风个人反思
2014/04/28 职场文书
个人自荐书怎么写
2015/03/26 职场文书
初中班主任工作总结2015
2015/05/13 职场文书
黄河绝恋观后感
2015/06/08 职场文书
2019辞职报告范本3篇!
2019/07/23 职场文书
深入理解redis中multi与pipeline
2021/06/02 Redis