#文件操作(寫入文件,讀取文件) #寫入文件 #1.打開文件(打開冰箱) fp = open('test.txt','w') print(fp,type(fp)) #2.寫入文件(把大象塞進去) fp.write('什麼時候你會覺得不再年輕了?') #3.關閉文件(關上冰箱) fp.close() ... ...
#文件操作(寫入文件,讀取文件) #寫入文件 #1.打開文件(打開冰箱) fp = open('test.txt','w') print(fp,type(fp)) #2.寫入文件(把大象塞進去) fp.write('什麼時候你會覺得不再年輕了?') #3.關閉文件(關上冰箱) fp.close() #讀取文件 #1.打開文件(打開冰箱) fp = open('test.txt','r') #print(fp) #2.讀取文件(把大象拿出來) txt = fp.read() print(txt) #3.關閉文件(把冰箱門關閉) fp.close() #文件常用函數 #open() 打開或者新建一個文件 ''' open('文件路徑','打開模式') #基本模式 w write 寫入模式 1.文件不存在則新建文件,文件已存在,打開並且清空文件 2.該模式下只能進行寫入操作 r read 讀取模式 1.文件不存在則報錯,文件已存在則打開文件,將指針指向文件的開頭 2.該模式下只能進行讀取操作 a append 追加模式 1.文件不存在則新建文件,文件已存在則打開文件,將指針指向文件結尾 2.該模式下只能進行寫入操作 x xor 異或模式 1.文件已存在則報錯,文件不存在則新建文件 2.該模式下只能進行寫入操作 #擴展模式(不能單獨使用必須和基本模式一起用) + plus 增強模式 可以使得任何基本模式變成讀寫模式 b bytes 位模式 獲取數據或者寫入數據的類型為bytes類型 ''' #增強模式 fp = open('wangwang.txt','w+') #寫入操作 fp.write('四處張望') #將指針設置為開頭位置 fp.seek(0) #讀取操作 result = fp.read() print(result) fp.close() #bytes模式 涉及到一個bytes的數據類型 content = '喵星人為啥不能作為警貓呢?' result = content.encode()#編碼操作 print(result) fp = open('miaomiao.txt','wb') fp.write(result) fp.close() fp = open('miaomiao.txt','rb') result = fp.read() print(result.decode())#解碼操作 fp.close() #read() 讀取文件內容 fp = open('miaomiao.txt','r') #讀取所有內容 #txt = fp.read() #讀取指定個數的字元 txt = fp.read(5) print(txt) fp.close() #write() 寫入文件內容 fp = open('miaomiao.txt','w') fp.write('kqkyhtk') fp.close() #readline() 一次讀取一行數據 fp = open('question','r') result = fp.readline() result = fp.readline() #讀取一行數據的前n個字元 result = fp.readline(5) print(result) fp.close() #readlines() 一次性將文件按行讀取到列表當中取 fp = open('question','r') #讀取所有行 result = fp.readlines() #根據指定的字元長度 讀取n行 result = fp.readlines(50) print(result) fp.close() #writelines() 將容器中的數據一次性寫入文件 ''' txt = ['一\n','二\n','三\n','四\n' fp = open('num.txt','w') fp.writelines(txt) fp.close() ''' #truncate() 文件截取操作 #fp = open('num.txt','a') #這裡的長度單位不是字元而是位元組 #fp.truncate(2) #fp.close() ''' 字元:一個獨立存在的文字就是一個字元,無論什麼語言什麼符號 位元組:用於存儲數據的基本單位 1TB = 1024GB 1GB = 1024MB 1MB = 1024KB 1KB = 1024B 1B = 8bytes 字元集: 基本的英文編碼(1個位元組) ascii碼 -> 記錄英文和數字及部分符號的編碼 (128個) 擴展ascii碼 -> 增加了ascii碼的數量(256個) 製作特定語言的編碼(2個位元組[針對漢字]) gb2312編碼 -> 存儲了5000個常用漢字 gb10800編碼-> 擴充了漢字數量 gbk編碼 -> 包含了所有漢字 big5編碼 -> 繁體中文編碼 製作世界統一編碼(3個位元組[針對漢字]) utf-8 包含世界上絕大部分的文字的編碼 utf-16 包含世界上絕大部分的文字的編碼 ''' #文件函數 ''' #tell() 獲取文件指針的位置(位元組) fp = open('01.txt','r') #輸出當前指針位置 pos1 = fp.tell() print(pos1) #讀取內容 result = fp.read() print(result) #輸出當前指針位置 pos2 = fp.tell() print(pos2) fp.close() ''' #seek() 移動文件指針的位置 fp = open('01.txt','r') #獲取開始文件指針位置 print(fp.tell) #移動指針 fp.seek(9) #獲取開始文件指針位置 print(fp.tell()) #讀取文件 result = fp.read() print(result) fp.close()