前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

文件

作者头像
清菡
发布2020-12-02 16:56:30
4830
发布2020-12-02 16:56:30
举报
文章被收录于专栏:清菡软件测试清菡软件测试

一、什么是文件?

大多数程序,都遵循输入-处理-输出的模型,接受用户输入,按照要求进行处理,最后进行输出数据。windows 是以扩展名指出文件是什么类型的。

二、打开文件

使用 open 这个函数打开文件并返回文件对象,拿到这个文件对象就可以读取和修改这个文件了。

三、文件对象的方法

文件对象方法的使用:

打开文件并取得文件对象后,利用文件对象对一些方法,对文件进行读取、修改等操作。f.close() 是关闭文件的方法,python 拥有垃圾收集机制,会在文件对象的引用计算器里面,当计算器的计数降至 0 的时候,会自动关闭文件。在 python 编程里面,如果忘记关闭文件不会造成内存泄漏。如果文件操作里面有写入操作的话,那么应该在完成写入后进行关闭文件。因为 python 会缓存你的写入数据。如果中途断电了,缓存的数据不会写入到文件中,为了安全起见,要养成使用完文件立刻关闭的习惯。

四、文件的读取

f.read() 方法是按字节读取 size 个字符,如果不设置参数的话,会把全部的东西都读取出来,文件指针会直接指到末尾。尝试再读取一次,就已经指向文件的末尾,再次读取就读取不出来了。

文件指针相当于一个书签,f.read() 方法相当于读书,读到哪,书签就插到哪。重新打开这个文件,f.read(5) 打印出前 5 个字符。

f.tell() 方法告诉我们当前文件书签的位置,也就是当前文件指针的位置。

一个汉字两个字节,书签的位置正好是 10 个字节。

使用 f.seek(offset,from) 来修改文件指针,第一个参数是 offset,第二个参数是 from(0 代表文件起始位置,1 代表当前位置,2 代表文件末尾),offset 个字节。f.readline() 按行数读。从第 45 个字节位置开始打印一行,这里是没有第 45 个字节的,所以如图:

直接使用 list() 可以把文件对象直接转换为列表。

对于迭代读取文本中的每一行,有些人会这样写:

这样效率不高,如果数据非常长,会转换成非常长的列表,这样很没效率。

我们可以这样做,效率比较高:

五、文件的写入

f.write() 和 f.writelines(),f.writelines() 是传入一个字符串序列,可以是个列表,列表中的每个字符串依次写进去,如果要写入文件,确保之前的打开模式有 w,或者 a。

例如,不是可写入状态会报错:

重新打开一个文件,追加一个写入状态,写入“我爱读书”,返回写入的字符,然后关闭。文件就被写入了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档