浅析使用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重试装饰器示例
Feb 11 Python
Python实现备份文件实例
Sep 16 Python
微信跳一跳游戏python脚本
Apr 01 Python
python爬虫爬取网页表格数据
Mar 07 Python
python 以16进制打印输出的方法
Jul 09 Python
python爬虫获取百度首页内容教学
Dec 23 Python
Centos部署django服务nginx+uwsgi的方法
Jan 02 Python
python 计算一个字符串中所有数字的和实例
Jun 11 Python
python实现随机加减法生成器
Feb 24 Python
python中添加模块导入路径的方法
Feb 03 Python
pytorch加载预训练模型与自己模型不匹配的解决方案
May 13 Python
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
Nov 11 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
Yii2中Restful API原理实例分析
2016/07/25 PHP
php中数组最简单的使用方法
2020/12/27 PHP
用jscript实现新建word文档
2007/06/15 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
纯Javascript实现ping功能的方法
2015/03/20 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
js观察者模式的弹幕案例
2020/11/23 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
Python输入二维数组方法
2018/04/13 Python
Python 循环语句之 while,for语句详解
2018/04/23 Python
Python键盘输入转换为列表的实例
2018/06/23 Python
Django csrf 验证问题的实现
2018/10/09 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
python如何输出反斜杠
2020/06/18 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
出纳试用期自我鉴定
2014/04/07 职场文书
产品销售计划书
2014/05/04 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
创先争优公开承诺书
2014/08/30 职场文书
建议书范文
2015/02/05 职场文书
医务人员医德考评自我评价
2015/03/03 职场文书
2016秋季运动会开幕词
2016/03/04 职场文书
python 解决微分方程的操作(数值解法)
2021/05/26 Python
Matlab如何实现矩阵复制扩充
2021/06/02 Python
frg-100简单操作(设置)说明
2022/04/05 无线电
golang操作redis的客户端包有多个比如redigo、go-redis
2022/04/14 Golang