浅析使用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中subprocess模块用法实例详解
May 20 Python
python3实现暴力穷举博客园密码
Jun 19 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
python @property的用法及含义全面解析
Feb 01 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
Apr 05 Python
python实现对文件中图片生成带标签的txt文件方法
Apr 27 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
Jul 12 Python
python+numpy+matplotalib实现梯度下降法
Aug 31 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
Sep 20 Python
python绘制规则网络图形实例
Dec 09 Python
pandas 对group进行聚合的例子
Dec 27 Python
python如何输出反斜杠
Jun 18 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
分享3个php获取日历的函数
2015/09/25 PHP
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
php 实现进制相互转换
2016/04/07 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
jquery实现的超出屏幕时把固定层变为定位层的代码
2010/02/23 Javascript
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
php输出全部gb2312编码内的汉字方法
2017/03/04 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
Python显示进度条的方法
2014/09/20 Python
Python的函数的一些高阶特性
2015/04/27 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
django框架ModelForm组件用法详解
2019/12/11 Python
浅析Python数字类型和字符串类型的内置方法
2019/12/22 Python
pytorch: Parameter 的数据结构实例
2019/12/31 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
利用matplotlib为图片上添加触发事件进行交互
2020/04/23 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
python操作redis数据库的三种方法
2020/09/10 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
2013/11/07 HTML / CSS
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
厨师岗位职责
2013/11/12 职场文书
新驾驶员个人自我评价
2014/01/03 职场文书
社区敬老月活动实施方案
2014/02/17 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书