浅析使用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 相关文章推荐
Python3实现从指定路径查找文件的方法
May 22 Python
Python argv用法详解
Jan 08 Python
Python爬取网易云音乐上评论火爆的歌曲
Jan 19 Python
wxPython之解决闪烁的问题
Jan 15 Python
Python生成短uuid的方法实例详解
May 29 Python
PyTorch和Keras计算模型参数的例子
Jan 02 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
May 09 Python
python如何进入交互模式
Jul 06 Python
Numpy ndarray 多维数组对象的使用
Feb 10 Python
SpringBoot首页设置解析(推荐)
Feb 11 Python
Jupyter notebook 更改文件打开的默认路径操作
May 21 Python
Python max函数中key的用法及原理解析
Jun 26 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
apache rewrite_module模块使用教程
2008/01/10 PHP
使用php shell命令合并图片的代码
2011/06/23 PHP
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
PHP+Apache环境中如何隐藏Apache版本
2017/11/24 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
推荐20家国外的脚本下载网站
2011/04/28 Javascript
js 链式延迟执行DOME
2012/01/04 Javascript
js 判断一个元素是否在页面中存在
2012/12/27 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
深入理解MVC中的时间js格式化
2016/05/19 Javascript
关于session和cookie的简单理解
2016/06/08 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
2016/07/05 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
详解vue-cli构建项目反向代理配置
2017/09/07 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
详解Vue中的Props与Data细微差别
2020/03/02 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
Python的面向对象编程方式学习笔记
2016/07/12 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
python实现京东秒杀功能
2018/07/30 Python
Python 一句话生成字母表的方法
2019/01/02 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
2020/04/10 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
C语言变量的命名规则都有哪些
2013/12/27 面试题
销售文员的岗位职责
2013/11/20 职场文书
旷课检讨书3000字
2014/02/04 职场文书
主持人演讲稿
2014/05/13 职场文书
HTML基础详解(下)
2021/10/16 HTML / CSS
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电