Python-文件讀寫&文件指針&json模塊

1.文件讀寫python

f = open('a.txt', 'r', encoding='utf-8') # 打開一個文件,不指定模式時,默認爲r f = open('a.txt');須要使用f.close()關閉文件 # f = file('a.txt', 'r', encoding='utf-8') # python2中也能夠用open,也能夠用file打開文件 # 文件讀出來時均爲字符串格式 ''' 模式 對應方法 說明 r read() 表示只讀模式;只能讀不能寫,打開不存在文件會報錯 w write() 表示寫入模式;只能寫不能讀,文件不存在會自動建立;會清空原來文件內容,進行寫入;只能寫入字符串 a write() 表示寫入模式;只能寫不能讀,文件不存在時會自動建立;不會清空原來文件內容,可以追加寫入 r+ read()/write() 表示讀寫模式;文件不存在時,會報錯;能夠寫,但會從文件開頭覆蓋寫入(由於文件指針在最前) w+ read()/write() 表示寫讀模式;可讀可寫,但讀不出東西(由於已清空);文件不存在時,會自動建立;會清空原來文件內容,進行寫入; a+ read()/write() 表示追加讀模式;可讀可寫,但讀不出東西(由於文件指針在最後);文件不存在時,會自動建立;不會清空原來文件內容,可以追加寫入 ''' with open('a.txt') as file: # 打開文件,此方式不用關閉文件,會自動關閉;file爲一個文件對象  file.read() with open('a.txt') as file1, open('b.txt', 'w') as file2: # 打開多個文件  file1.read() with open('a.txt') as file: # 讀取大文件時,能夠用採用循環一行一行讀取 for line in file: # 循環文件對象(file)便是一行一行讀取 print(line)
f.read() # 讀文件所有內容,讀到的內容爲一整個字符串 f.read(1024) # 讀文件中1024大小的內容 f.readline() # 讀文件一行內容,讀到的內容爲一個字符串 f.readline(5) # 讀5行 f.readlines() # 讀文件所有內容,讀到的內容爲一個列表

 

2.文件指針json

''' 存在文件指針,當文件讀取過一次後,文件指針會相應後移 例如:先執行read再執行readline會讀不出東西 read文件指針在最前面,a由於是追加寫入,因此文件指針在最後 關閉再打開,文件指針位置會重置 使用seek可以將文件指針移動到最前方,能夠實現可讀可寫並可以讀出文件內容的操做 ''' f.seek(0) # 表示將文件指針移動到文件最前方

 

3.其餘方法編碼

l = ['123', '234', '456'] a = 'string' f.tell() # 查看文件指針的位置 f.write(a) # 寫入字符串,如果多個需:write(a+b) f.writelines(l) # 傳入一個list,將list中的每個元素寫入文件中,不光是列表,只要是能夠循環的均可以 f.truncate() # 將文件內容從文件指針的位置開始刪除 f.read().replace('S', 's') # 將文件中的S替換成s f.flush() # 將緩衝區的內容當即寫入文件 import os # 系統包 os.remove('a.txt') # 刪除a.txt文件 os.rename('b.txt', 'a.txt') # 將b.txt文件重命名爲a.txt

 

4.json模塊spa

import json # 導入json模塊  d={'zhangsan':18,'lisi':20,'wangwu':30,'張三':1} open('user1.json','a+',encoding='utf-8') # 使用json後綴可以使文件中的json串有顏色,更好看 json.dumps(d) # 將字典轉成json串格式的字符串 json.dumps(d,indent=2) # indent表示格式化json串,2表示每行前面空兩格 json.dumps(d,indent=2,ensure_ascii=False) # ensure_ascii=False表示有中文時,不要將中文顯示成編碼  json.dump(d,f,indent=2,ensure_ascii=False) # f爲一個文件,dump可以自動將字典d,寫入f文件中 # 想將字典寫入文件時,能夠先使用json.dumps()將字典轉化成json格式的str字符串,就能夠使用write寫入文件  json.loads(f) # 讀取json格式的str字符串,轉化爲字典類型 # 想要對文件中讀出的json串格式的字符串使用字典的一些方法時,能夠使用json.loads()方法  json.load(f) # f爲一個文件,load可以讀取json文件,並轉換成字典;文件中只能有一個json字符串,不然會報錯 # load方法能夠直接從文件讀,加載到Python的變量中,並以字典的格式轉換。而loads必須對於Python內存中的序列化對象轉換成字符串
相關文章
相關標籤/搜索