python文件及目录操作:读取文件

2022-07-3111:17:45编程语言入门到精通Comments1,167 views字数 1518阅读模式

学习了如何创建文件并写入信息,那么还需要学习怎么在程序里使用文件中的内容,关于文件的操作,下面表格里汇总了多种方式。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

方法说明
file.read([number])这种方式用于读取文本的指定字符串长度
file.readline()这种方式读取文本的第一行内容
flie.readlines()这种方式读取了文本的所有内容,并把每一行内容放到一个list中
file.flush()刷新缓冲区,立即写到磁盘上
file.seek(index)移动文件到指定的索引处,从此位置开始读取,但写入从最后开始
with open使用完自动关闭,省去file.close()操作
encoding='utf-8'读写的文件含中文时添加

 1. 读写指定字符串文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

使用file.read([number])方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

1
2
3
4
5
6
file = open('test.txt','w')
file.write('第一次写入的内容。')
file = open('test.txt','a+')
file.write('第二次追加写入的内容。')
print(file.read(8))
file.close()

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

1
第一次写入的内容

文件中的内容为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

1
第一次写入的内容。第二次追加写入的内容。

需要注意的是,我们在进行读的时候,一定要保证当前文件是打开的状态,如果我们写完了信息就把文件关闭了,那么我们将读取不到信息而且会出现异常,异常如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

1
2
3
4
Traceback (most recent call last):
  File "C:/Users/test.py", line 6in <module>
    print(file.read(8))
ValueError: I/O operation on closed file.

 2. 读取一行内容文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

使用file.readline()方法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

1
2
3
4
5
6
7
file = open('test.txt','w')
file.write('第一次写入的内容。')
file = open('test.txt','a+')
file.write('\n')
file.write('第二次追加写入的内容。')
print(file.readline())
file.close()

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

1
第一次写入的内容。

文件中内容为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

1
2
第一次写入的内容。
第二次追加写入的内容。

这种读取方式每次仅仅读取一行,对于内容过多的文件可以采用这种方式去逐行读取。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

  3. 按行全部读取文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

使用file.readlines()方法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

1
2
3
4
5
6
7
8
9
10
file = open('test.txt','w')
file.write('第一次写入的内容。')
file = open('test.txt','a+')
file.write('\n')
file.write('第二次追加写入的内容。')
print(file.readlines())
file.close()
file = open('test.txt','r')
print(file.readlines())
file.close()

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

1
['第一次写入的内容。\n''第二次追加写入的内容。']

文件内容为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

1
2
第一次写入的内容。
第二次追加写入的内容。

使用这种方式的时候我们需要注意读取的时候采用的模式为r或者r+,如果是一个已经存在的文件,我们可以直接进行读取,如果是我们刚刚完成写入的一个文件,大家可以先关闭,再采用r格式进行读取。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

 4. 总结文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

三种读取方式各有千秋,大家还可以通过file.seel(index)的方式访问下标去读取,还可以通过循环文件进行高效的文件读取。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26269.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/26269.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定