1、三种字符串: (1)u'' 普通字符串 ---> u'abc' ---> 默认的文本方式,以字符作为文本的输出方式 (2)b'' 二进制字符串 ---> b'ASCII码' ---> 以二进制(字节)作为文本输出方式,且文本内容必须为ASCII码 (3)r'' 原义字符串 ---> r' ' ---> 将引号中的转移字符串以原本的意义表示出来(多用于文件路径的表示) 2、文件操作步骤 (1)通过文件名等从硬盘中找到相应的文件地址,使操作系统就有文件的操作权 (2)使用应用程序对文件进行操作 (3)操作完成后,应用程序向操作系统发送请求,使其释放文件的操作权 3、打开文件的方式 (1)使用open打开文件 f = open("文件路径及文件名","文件打开模式",enconding="utf-"8) (2)使用with open...as 的方式进行文件操作 with open("文件路径及文件名","文件打开模式",enconding="utf-8") as f: (3)使用with open 进行文件操作时,嵌套使用 with open("文件路径及文件名","操作模式",enconding="utf-8") as f1: with open("文件的路径及文件名","操作模式",enconding="utf-8") as f2: 对文件的操作 4、文件的操作模式 主模式: r | w | a | x 从模式: t | b | + (1)r ---> 基本读操作 with open("文件路径及文件名","r",enconding="utf-8") as f1: f1.read() --> 将整个文件读取进内存 f1.readline() --> 读取一行文件 f1.readlines() --> 将每行内容依次添加进列表中,并返回列表 对文件进行读操作,如果文件不存在则报错 # 如果想要一行一行的读取文件,可以使用for循环 ---> 重要点 for line in f1: print(line) (2)w ---> 基本写操作 with open("文件路径及文件名","w",enconding="utf-8") as f1: f1.write("哈哈") f1.writerlines([必须为可迭代的对象,并且内容为字符串]) 对文件进行写操作,如果文件不存在则创建文件,如果文件存在,则清空文件从头开始写 (3)a ---> 追加操作 with open("文件路径及文件名","a",enconding="utf-8") as f1: 采用追加的方式对文件进行写操作,默认从文件的结尾添加 (4)x ---> 写操作,文件不存在创建,文件存在报错 with open("文件路径及文件名","x",enconding="utf-8") as f1: 如果文件存在则报错,如果文件不存在则创建文件并写入 t ---> 以文本方式进行文件的操作,是文件操作的默认方式, rt = r (5) rt 以普通方式进行文件读操作,如果文件不存在则抱错问题 ---> 与 r 相同 (6) wt 以普通字符串的方式对文件进行写操作,如果文件存在则清空后写入,如果文件不存在则创建文件后写入 --> 与 w 相同 (7) at 以普通文本方式对文件进行追加操作,,默认写到文件的末尾 --->与 a 相同 b ---> 以字节的方式对文件进行操作 with open("文件路径及文件名","wb") as f1: f1.write() (8) rb 以字节的方式对文件进行读操作,如果文件不存在则报错 (9) wb 以字节的方式对文件进行操作,如果文件存在则清空后添加,如果文件不存在则创建文件 (10) ab 以字节的方式对文件进行操作,默认添加到文件的末尾 + ---> 以读写的方式对文件进行操作 (11) r+ 可读可写的读,如果文件不存在则报错,【如果文件存在则从头开始替换写】 (12) w+ 可读可写的写,如果文件存在则清空写,如果文件不存在则进行创建文件后进行写入 (13) a+ 可读可写的追加,如果文件不存在则进行创建,如果文件存在则在末尾进行添加 5、游标操作 游标由于是以字节作为移动的单位,所以文件必须是b模式,又因为只有在读取文件时才有游标,所以,文件的游标概念只有在 rb 模式下才能起作用 游标操作使用seek()方法,seek('移动的位数','起始的位置') 起始的位置主要有三个: 0 --> 文档开头 1 --> 当前位置 2 --> 文档末尾 with open("3.txt", "rb") as f: f.seek(-2, 2) print(f.read(2)) 6、文档的复制 with open("3.txt","r",encoding="utf-8") as f1: with open("4.txt","w",encoding="utf-8") as f2: for line in f1: f2.write(line) 7、enconding编码 在使用 t 模式进行文件操作时,需要标明编码方式,enconding="utf-8" 在使用 b 模式进行文件操作时,不能标明编码方式,否则会报错