文件处理
文件处理
1,什么是文件:
文件是操作系统提供给用户或者说应用程序操作硬盘的一种功能
2,为何要用文件:
读写文件就是在读写硬盘,我们对文件的读写操作都会被操作系统转换成硬盘的读写操作
应用程序--------》
操作系统--------》文件
硬盘-----------》硬盘
3,如何用文件:用什么写的 就是用什么读
f = open(r"a.txt",mode = "rt",encoding = 'utf-8')占用应用程序的空间
res = f.read()
print(res)
f.close()关闭文件
f:文件对象,文件句柄(远程控制,操作文件的意思)
with = open(r"a.txt",mode = "rt",encoding = 'utf-8')as f,\
open(r"a.txt",mode = "wt",encoding = 'utf-8')as f1
with上下文管理,上文
下文
操作系统的打开文件的个数,有固定的数字
(一行代过长时 可以换行,但是要用\来处理)
read时从指针所在的位置开始读
with语法
文件打开模式
控制文件读写操作的模式
r:只读模式,如果文件不存在则报错,文件存在则文件指针处于文件开头
(默认模式)
w :只写模式,如果文件不存在则创建新的文本文件,如果文件存在,则清空文件夹
后面要加换行符
总结W模式下,在打开了文件不管的情况下,新写的内容,永远跟在后面
f = open('a.txt',made = 'wt',encoding = 'utf-8')
a:只追加模式文件不存在时会创建空文档,当文件存在时,文件指针会跳到末尾
不能读,只能写
总结:
1 相同点:在打开的文件不关闭的情况下,连续的写入,新写的内容总会跟在前写的内容之后
2 不同点:以 a 模式重新打开文件,不会清空原文件内容,会将文件指针直接移动到文件末尾,新写的内容永远写在最后
控制文件读写内容的模式
t (默认模式):读写都是以字符串为单位的,必须指定encoding参数
b:读写都是以bytes为单位的,适用于所有文件,一定不能指定encoding参数
t b 不能单独使用,t b 只能配合r w a
使用
文件的操作方法
和读有关,readlines:从指针所在的位置,读到末尾
w模式,读出来的是一个列表
readline:读一行
写:writelines:写的内容可以写进列表。写出能被for循环的内容
f.writelines('hello'),写了5次,相当于带了一个for循环
f.write是把内存的数据写入硬盘
f.flush()快速传递,降低效率,基本用不上
控制文件指针移动
f. read():只有T模式下的,f.read(n)中的n代表的是字符的个数,除此之外,关于指针的移动,单位都是字节bytes
f.truncate():截断
f.seek():
字节个数:0,在字节开头
1,以当前的指针位置为起始点
2,文件末尾
浙公网安备 33010602011771号