浅析使用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 08 Python
Python3读取Excel数据存入MySQL的方法
May 04 Python
Python实现的爬取网易动态评论操作示例
Jun 06 Python
Python基于xlrd模块操作Excel的方法示例
Jun 21 Python
关于python列表增加元素的三种操作方法
Aug 22 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
Jan 15 Python
pytorch 实现查看网络中的参数
Jan 06 Python
OpenCV Python实现拼图小游戏
Mar 23 Python
Python实现打包成库供别的模块调用
Jul 13 Python
Python环境使用OpenCV检测人脸实现教程
Oct 19 Python
python对输出的奇数偶数排序实例代码
Dec 04 Python
详解Python中*args和**kwargs的使用
Apr 07 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制作新闻系统的思路
2006/10/09 PHP
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
学习php设计模式 php实现合成模式(composite)
2015/12/08 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
jquery+json实现的搜索加分页效果
2010/03/31 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
理解javascript闭包
2015/12/15 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
JavaScript仿微博输入框效果(案例分析)
2016/12/06 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
基于JavaScript获取base64图片大小
2019/10/18 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
Flask解决跨域的问题示例代码
2018/02/12 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
利用anaconda作为python的依赖库管理方法
2019/08/13 Python
python修改文件内容的3种方法详解
2019/11/15 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
css3圆角边框和边框阴影示例
2014/05/05 HTML / CSS
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
关于打架的检讨书
2014/01/17 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
讲座开场白台词和结束语
2015/05/29 职场文书
宣传部部长竞选稿
2015/11/21 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS