文件操作
1.文件路径:默认路径与绝对路径,本文都是默认路径
2.编码方式
3.操作方式:只读、只写、追加、读写、写读......
4.以什么编码方式存储的文件就以什么编码方式打开
1 #只读 2 f = open("D:\MyPythonSource\模特主妇护士班主任.txt", mode='r', encoding='utf-8') 3 content = f.read() 4 print(content, type(content)) 5 f.close() 6 >>>叮叮当当嘟嘟大大,葫芦娃 <class 'str'> 7 8 #以二进制的方式读 9 f = open("模特主妇护士班主任.txt", mode='rb') 10 content = f.read() 11 print(content, type(content)) 12 f.close() 13 >>>b'\xe5\x8f\xae\xe5\x8f\xae\xe5\xbd\x93\xe5\xbd\x93\xe5\x98\x9f\xe5\x98\x9f\xe5\xa4\xa7\xe5\xa4\xa7\xef\xbc\x8c\xe8\x91\xab\xe8\x8a\xa6\xe5\xa8\x83' <class 'bytes'>
1 # 对于写,没有此文件就会创建文件,文件则清空原文件内容,再写入新内容 2 f = open("log", mode='w', encoding='utf-8') 3 f.write("骑兵步兵") 4 f.close() 5 6 f = open("log", mode='w', encoding='utf-8') 7 f.write("分季度看") 8 f.close() 9 10 "wb"以二进制写入文件,需要知道目标文件的编码方式 11 f = open("log", mode='wb') 12 f.write("打开分季度看".encode('utf-8')) 13 f.close()
1 f = open("log", mode='a', encoding='utf-8') 2 f.write("\n设计开发的肌肤") 3 f.close() 4 5 f = open("log", mode='ab') 6 f.write("骑兵步兵".encode('utf-8')) 7 f.close()
1 #r+下如果先写再读,则写的内容会覆盖原内容,写多少位占多少位,最后读出未被占用的内容 2 #r+b读写(以bytes类型) 3 f = open("log", mode="r+b") 4 print(f.read()) 5 f.write("trony, tiger".encode("utf-8")) 6 f.close()
1 #w+只要有w都是先清除再写 2 f = open('log', mode='w+', encoding='utf-8') 3 f.write("房间里的房价") 4 f.seek(0) #调节光标位置 5 print(f.read()) 6 f.close()
1 f = open('log', mode='a+', encoding='utf-8') 2 f.write("房间里的房价") 3 f.seek(0) 4 print(f.read()) 5 f.close()
1 f = open("log", mode='r+', encoding='utf-8') 2 # content = f.read(3) #read读出来的都是字符 3 f.seek(3) #光标是按照字节去定光标的位置的 4 # content = f.read() 5 content = f.tell() #检测光标位置 6 print(content) 7 f.close() 8 line = f.readline() 一行一行的读 9 lines = f.readlines() 每一行当成中的一个元素,添加到列表中 10 l1 = f.truncate(5) 对原文件进行截取