python 文件处理 (课堂笔记)
1、什么是文件?
文件是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位
文件的操作核心就:读、写
即我们只需要对于进行读写操作,就是对操作系统发起请求,然后由操作系统将用户或者应用程序
对文件的读写操作转换成具体的硬盘指令(比如控制盘片转动,控制机制)
2、为什么要有文件
因为内存无法永久保存数据,但凡我们想要永久保存数据都需要保存到的硬盘
而操作文件就可以实现对硬件的操作
3.如何用文件
'''
name = 'egon'
pwd = '123'
把内存中的数据存贮到硬盘中去
'''
python 文件的只读操作
1、首先我们要明白,应用程序是不能直接去打开文件的。必须通过操作系统,操作系统调取硬盘的接口,让硬盘工作,来存贮打开文件。从硬盘读取文件到内存,又涉及到解码的操作成Unicode。(内存中编码是Unicode)
字符串 又字符编码,(文本文件)
f = open(r'D:untitled1a.txt', 'r')
print(f.readlines()) #文件读取存成一个列表里
f.close()#文件关闭
#上下文管理,如果不对文件操作的化,自动关闭文件 with open(r'b.txt','rt') as f: #把全部信息读出来 f.read() #读取一行的数据 f.readline() #读取所有的数据放在列表中 f.readlines()
#with 可以打开多个文件,能实现边读边写的操作 with open(r'a.txt', 'rb') as f, open(r'c.txt', 'wb') as f1: #把a.txt全部读取存到列表中,然后循环边读边写 for line in f.readlines(): print(line) f1.write(line)
上面是第一种bates和字符串的操作
下面是第二种bates和字符串的操作
上下文管理 with open('e.txt','rb') as f,open('j.txt','wt',encoding='utf-8') as f1: #文件的操作 src_data=f.read() res=src_data.decode('utf-8') # print(res,type(res)) f1.write(res)
还有一种模式追加的操作, a
a(追加) 相比 r(只读) 和 w(只写),r(只读)和 w(只写)打开文件的时候(指针)(seek) 是回到开头的地点,而a(追加)打开文件,(指针)(seek)(是内容末尾)
所以不会出现,每次写读操作把前面的内容覆盖。
a(追加模式)也是工作中用的比较多的