文件的读取操作
文件:
什么是文件
文件是用于数据存储的单位
文件通常用来长期存储设置
文件中的数据是以字节为单位进行顺序存储的
内存的读写速度快/ 磁盘的读写速度慢
文件的操作步骤:
打开文件
读写文件
关闭文件
python中打开文件open与with open 的区别?
区别:应用场景不同
- try…except…主要是用来处理文件不存在的情况的,文件不存在则open()的报错会被处理成提示信息,不会阻塞程序的运行;
2 with open()主要用来保证文件一定会关闭,但是如果文件不存在导致报错,依然会阻塞程序继续运行。
3 通俗总结来说,try…except比较繁琐一点,主要用来解决【读取文件】操作是文件不存在的问题。with…open更加简洁,主要用来[写入文件]操作时,保证文件关闭。
4 但是,try…except…finally 虽然繁琐但是可以同时解决上述两个场景。
注意:调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了,所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。另外,调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。因此,要根据需要决定怎么调用
一、 文件读取
使用with open
# 文件
# 读取文件(放于python工作路径下)
# 使用关键字with时,open()返回的文件对象只在with代码块内可用,如果要在with代码块外访问文件的内容,可在with代码块内将文件的各行存储在一个列表中
with open('pi_million_digits.txt') as f:
contents = f.read()
print(contents.rstrip()) # rstrip():删除(剥除)字符串末尾的空白
# 直接使用文件路径:注意(Windows使用反斜杠\,Linux使用斜杠/)
# with open('C:\Users\X6TI\Desktop\python\python文件读取\pi_million_digits.txt') as f
二、 遍历文件
# 遍历文件
# 逐行读取
filename = 'learning_python.txt'
with open(filename) as f:
for line in f:
print(line.rstrip())
创建一个包含文件各行内容的列表
# 创建一个包含文件各行内容的列表
filename = 'learning_python.txt'
with open(filename) as f:
lines = f.readlines()
# readlines():从文件在读取每一行,并将其存储在一个列表中
# 此时 lines为一个列表
print(type(lines))
for line in lines:
print(line.rstrip())
三、 写入文件
# 写入文件
filename = 'SB.txt'
with open(filename, 'w') as f:
f.write("飞龙在天")
f.write("韩国网吧\n")
f.write("避雨")
# open():三个有用实参;r(只读),w(写入,重新写入,清空原文件),a(附加模式,添加不覆盖),r+(读写)
四、 文件对象的方法
见菜鸟教程 文件方法
https://www.runoob.com/python/file-methods.html