浅析使用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入门及进阶笔记 Python 内置函数小结
Aug 09 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
Jun 12 Python
django 按时间范围查询数据库实例代码
Feb 11 Python
浅谈Python中的私有变量
Feb 28 Python
Numpy数组转置的两种实现方法
Apr 17 Python
为什么Python中没有"a++"这种写法
Nov 27 Python
Python 自动登录淘宝并保存登录信息的方法
Sep 04 Python
用python写测试数据文件过程解析
Sep 25 Python
python基于opencv检测程序运行效率
Dec 28 Python
Python对称的二叉树多种思路实现方法
Feb 28 Python
Pycharm Git 设置方法
Sep 15 Python
解决PDF 转图片时丢文字的一种可能方式
Mar 04 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
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
详解PHP执行定时任务的实现思路
2015/12/21 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
解析js如何获取当前url中的参数值并复制给input
2013/06/23 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
2014/10/17 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
微信小程序教程系列之视图层的条件渲染(10)
2017/04/19 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
[36:02]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第一局
2016/02/28 DOTA
python之wxPython菜单使用详解
2014/09/28 Python
使用Python操作MySQL的一些基本方法
2015/08/16 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
Sanic框架配置操作分析
2018/07/17 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
database面试题
2013/03/28 面试题
机械电子工程专业自荐书
2014/06/10 职场文书
公益广告标语
2014/06/19 职场文书
征兵宣传标语
2014/06/20 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
观后感的写法
2015/06/19 职场文书
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电