Python檔案操作,
#檔案操作(寫入檔案,讀取檔案)#寫入檔案#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()