浅析使用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操作MySQL的一些基本方法
Aug 16 Python
Python中shape计算矩阵的方法示例
Apr 21 Python
Python实现打印螺旋矩阵功能的方法
Nov 21 Python
python构建深度神经网络(续)
Mar 10 Python
基于python神经卷积网络的人脸识别
May 24 Python
python实现函数极小值
Jul 10 Python
django数据模型on_delete, db_constraint的使用详解
Dec 24 Python
tensorflow 报错unitialized value的解决方法
Feb 06 Python
Python基于进程池实现多进程过程解析
Apr 30 Python
基于python实现生成指定大小txt文档
Jul 20 Python
python Pexpect模块的使用
Dec 25 Python
Python中的 enumerate和zip详情
May 30 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错误类型及屏蔽方法
2017/05/27 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
extjs 如何给column 加上提示
2014/07/29 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
JavaScript基础教程——入门必看篇
2016/05/20 Javascript
JQuery和PHP结合实现动态进度条上传显示
2016/11/23 Javascript
jQuery 获取select选中值及清除选中状态
2016/12/13 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
vue axios 简单封装以及思考
2018/10/09 Javascript
[02:52]2014DOTA2西雅图国际邀请赛 CIS战队巡礼
2014/07/07 DOTA
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
全面解读Python Web开发框架Django
2014/06/30 Python
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
Python两个内置函数 locals 和globals(学习笔记)
2016/08/28 Python
Python实现破解猜数游戏算法示例
2017/09/25 Python
python3+PyQt5使用数据库窗口视图
2018/04/24 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
python实现浪漫的烟花秀
2019/01/30 Python
如何使用Python实现自动化水军评论
2019/06/26 Python
python 随机生成10位数密码的实现代码
2019/06/27 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
Django实现基于类的分页功能
2019/10/31 Python
自我鉴定书范文
2013/10/02 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
社团文化节策划书
2014/02/01 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
整改落实自查报告
2014/11/05 职场文书
教师听课评语大全
2014/12/31 职场文书
2015年党员公开承诺事项
2015/04/27 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers