文件处理
什么是文件:
文件是操作系统提供给用户/应用程序的一种虚拟单位,这种单位可以直接映射硬盘空间
为什么要使用文件:
由于用户无法直接操作硬件,所以用户或应用程序直接操作文件(读/写)就会被操作系统转换成具体的硬盘操作,从而实现用户或应用程序将数据永久的保存在硬盘中
如何使用文件:
文件处理的三个步骤:首先打开文件对象(应用程序的内存资源),再由操作系统将资源读入操作系统的内存资源,通过输出设备反馈给用户。
打开文件的模式
打开文件模式有三种纯净模式,默认的为r(read)模式,只读模式。
使用r模式打开文件,不能添加,也不能删除。若源文件不存在则会报错。若存在则会将光标跳到首行首位。
(r+:在原有的功能上增添了写的功能,若光标在首行的首位,则会覆盖掉原来的内容)
w(write)模式:w模式则作用于写,在填写路径时若文件路径不存在则会创建新的文件,若文件存在则清空掉文件里原本的内容。而且w模式在写过一次再重新写入文本时也会自动清空掉上一次的内容。
(w+:在原有的基础上添加了读的功能)
a(append)模式:a模式作用于追加,即在原文件的基础上保持源文件不变的情况下光标跑到末尾继续向后编写内容,若光标在文件首行的首位,则会覆盖掉原来内容。
(a+:在原有的基础上添加了读的功能)
文件路径
1.绝对路径:绝对路径就是从硬盘起始直到文件的路径 例:C:acd.txt
2.相对路径:在当前文件夹下的路径
打开文件路径的模式:
open:使用open打开文件路径操作完成后要使用f.close关闭,否则会占用操作系统空间,会导致系统崩溃
使用with语句打开文件则不需要主动进行操作关闭,with语句则会在其子代码执行完毕后自动关闭
控制操作文件内容的两种模式
(t , b)
在学这两种模式之前要了解的一个大前提:即t,b模式都不可以单独使用,必须与纯净模式结合使用。
t(txt)模式是Python默认的操作文件内容的模式,只能读文本内容,若读其他内容则会显示成二进制。在使用时一定要加#encoding(字符编码格式)参数
b(bytes)模式则是一种只可以读非文本内容的模式,因为b模式都是以字节去操作的,所以在使用时我们无需考虑文本文件的字符编码和图片以及视频的格式,但使用时一定不可以加#encoding参数。
操作文件的方法
f.read():读取所有文件内容,光标会移动到文件末尾。
f.readline():读取每一行的内容,光标移动到第二行行首。
f.readlines():读取每一行内容,以列表格式存放。
f.readable():判断是否可读。
f.write():针对文本文件的写,需要自己写换行符
f.write().encode:针对B模式的写,需要自己写换行符
f.writelines():文件模式
练习(拷贝工具)
src_file = input('源文件路径: ') dst_file = input('目标文件路径: ') with open(r'%s'%src_file,mode='rb') as f,open(r'%s'%dst_file,mode='wb') as f1: for line in f: f1.write(line)