1.文件操作基本流程:
计算机系统分为:计算机硬件,操作系统,应用程序三部分。
我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统。操作系统把复杂的硬件操作封装成简单的接口给用户/应用程序使用,其中文件就是操作系统提供给应用程序来操作硬盘虚拟概念,用户或应用程序通过操作文件,可以将自己的数据永久保存下来。
有了文件的概念,我们无需再去考虑操作硬盘的细节,只需要关注操作文件的流程:
#1. 打开文件,得到文件句柄并赋值给一个变量 f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r #2. 通过句柄对文件进行操作 data=f.read() #3. 关闭文件 f.close()
三要素:文件路径,编码方式,操作模式。
open() python的内置函数(内部调用的是windows的系统命令),
1,打开文件,产生文件句柄。
2,对文件句柄进行操作。
3,关闭文件句柄。
#读
#r
对于r读模式mode可以默认不写
(1)全部读取
f = open('文件操作1',encoding='utf-8') content = f.read() print(content) f.close()
(2)按照字符读取
f = open('文件操作2',encoding='utf-8',mode='r') content = f.read(10) print(content) f.close()
(3)按行去读
f = open('文件操作3',encoding='utf-8',mode='r') f.readline() f.readline() f.readline() content = f.readline() print(content) f.close()
(4)按行读取,返回一个list
f = open('文件操作4',encoding='utf-8',mode='r') content = f.readlines() print(content) f.close()
(5)for 循环
f = open('文件操作5',encoding='utf-8',mode='r') for line in f: print(line) f.close()
4.rb模式;非文本文件,bytes类型
f = open('文件操作6',mode='rb') content = f.read() print(content) f.close()
rb模式按照字节读取
f = open('文件操作6',mode='rb') content = f.read(10) print(content) f.close()
r+模式,先读后追加
f = open('文件操作7',encoding='utf-8',mode='r+') content = f.read() print(content) f.write('22313') f.close()
*不读直接写会导致直接从开始覆盖
5.写
#w模式
#没有文件创建文件也要写
#有文件,先清空,后写入
f = open('文件操作8',encoding='utf-8',mode='w') f.write('6131') f.close()
#w+模式
f = open('文件操作8',encoding='utf-8',mode='w') f.write('6131') f.seek(1) print(f.read()) f.close()
#追加
6.a模式
#没有文件创建文件也要写
#有文件直接在文件的最后面添加
7.其他方法
#readable,writable,seek,tell
# seek 调整光标到开始,seek(0) 调整光标到结尾seek(0,2) *****
f = open('文件操作9',encoding='utf-8',mode='r') f.seek(20)#按字节去移动光标 content = f.read() print(content) f.close()
# f = open('文件操作1',encoding='utf-8') # if f.writable(): # content = f.read() # print(content) # f.close()
#truncate
# truncate 要在writable模式下进行截取。
# r+ a+ ..不能在w模式下使用,对原文件进行截取
# f = open('文件操作1',encoding='utf-8',mode='r+')
# print(f.truncate(6))
# f.close()
#with open
(1)主动关闭文件句柄
(2)开启多个文件句柄
# 文件的改的操作
# 1,以读的模式打开原文件,产生一个文件句柄f1.
# 2,以写的模式创建一个新文件,产生一个文件句柄f2.
# 3,读取原文件内容,进行修改,并将修改后的写入新文件。
# 4,将原文件删除。
# 5,将新文件重命名成原文件。