打开文件的模式

1.什么是文件?

  文件是操作系统提供给应用程序操作硬盘的一个虚拟单位。

  用于应用程序将数据永久保存。            windows默认gbk编码来存

文件操作:
f=open(r'aa.txt',mode='r',encoding='utf-8')
操作文件
f.close()

with open(r'aa.txt',mode='r',encoding='utf-8') as f1,
open(r'aa.txt',mode='r',encoding='utf-8') as f2:
子代码块
文件的打开模式:
t:text文本模式,读写文件是以字符串为单位,需要指定字符编码。(自动完成字符转成二进制)
t模式的局限性是只能读写文本文件
b:bytes字节模式,读写文件都是以bytes为单位,不需要指定字符编码。
b模式的好处的是可以读写任意类型的文件

f=open(r'aa.txt',mode='wb')
f.write('你好'.encode('utf-8'))
f.close()
注意:
t或b都不能单独使用
必须与r、w、a模式组合使用

r:只读,
文件不存在则报错
文件存在,光标停在文件开头

w:只写
文件不存在则创建空文件
文件存在则清空
光标停在文件开头
a:只追加写,(一打开文件,光标就直接到末尾去了,在文件存在的情况下,直接到文件末尾去了,在文件不存在的情况下,创建一个文件)
文件不存在则创建空文件
文件存在,光标停在文件末尾

强调:
写文件换行符用
读文件换行符也是
文件操作的方法:

f.read() #读出文件所有的内容
f.readline() #一次读一行
f.readlines() #读出文件所有的行存到列表中


f.write('11111 2222 ')

f.writelines(['11111 ','2222 '])
userinfo=['egon','123','333000']
for line in userinfo:
f.write(line)


存的编码不对,


拷贝文件
读一行写到新文件

文件的修改:
方式一:
将文件内容全部读入内存,在内存中完成修改后,再覆盖回硬盘
缺点:在文件过大的情况下,会过多地占用内存
方式二:
1、以读的方式打开原文件,以写的方式打开新文件
2、读一行原文内容,写入新文件,
如果该行内容是需要修改的内容,那么修改完后再写入新文件
3、删掉原文件,将新文件名重命名为原文件名

src_file_path(原文件路径) dst_file_path(目标文件路径)


硬盘上没有删这一说
数据还是在硬盘,空间表示可以使用的状态,数据用你的文件和硬盘的空间重新建立关系,数据回复。
其实是没有删以及没有改全都是覆盖
内存中是可以进修修改字符串

内存内容覆盖到原来内容,都是用新内容覆盖老内容,把文件内容一次性全都加到内存,然后再重新写回硬盘。存的时候比较卡,
文本编辑器的原理是先将文件写到内存,然后再改回,文件数据量大,电脑会比较卡。
==========================
修改文件方式一:
1.先把文件内容全部读到内存,
2.然后在内存中完成修改
3.再把修改后的结果,覆盖写入原文件

with open('user.txt',mode='r',encoding='utf-8')as f:
原文地址:https://www.cnblogs.com/wangmiaolu/p/8664991.html