首先第一步,開啟檔案,有兩個函數可供選擇:open() 和 file()
①. f = open('file.txt',‘w')
...
file.close()
②. f = file('file.json','r')
...
file.close()#記得開啟檔案時最後不要忘記關閉!
open() 和 file() 都是Python的內建函數,返回一個檔案對象,具有相同的功能,可以任意替換。使用文法為:
f = open(fileName, access_mode='r', buffering=-1)
第1個參數是檔案名稱, 2,3參數有預設值,參數2 決定了是以讀的方式‘r' ?還是寫的方式‘w' ?抑或別的方式開啟檔案。
開啟的方式有:
r —— 讀 ; w —— 寫 ; a —— 追加,從EOF開始寫,即在檔案末尾寫
r+ w+ a+ —— 都是以讀寫方式開啟
rb —— 二進位 讀 ; wb —— 二進位 寫 ;rb+ wb+ ab+ —— 二進位讀寫
例子:
fp = open('C:\Users\MPC\Desktop\說明.txt')# 預設以讀的方式開啟fp = open('test.txt','w')# 寫方式開啟fp = open('data.json','a')#追加方式開啟
第二步,對檔案進行操作
當得到檔案對象這個控制代碼以後(如例子中的fp),就可對檔案進行操作了。
檔案對象的內建操作方法有:輸入,輸出,檔案內移動,以及雜項操作
1. 輸入
函數: read(),readline(),readlines()
將檔案中的內容讀入 到 一個字串變數/列表 中
read() : 讀取整個檔案到字串變數中
例子:
fp = open('C:\Users\MPC\Desktop\說明.txt')all_file = fp.read()
read()有一個可選的size參數,預設為-1,表示檔案將會被讀至末尾(EOF)
readline() :讀取開啟檔案中的一行,然後返回整行包括行結束符到 字串變數中
readline()也有一個可選的參數size,預設-1,表示讀至行結束符停止
readlines() : 讀取整個檔案,返回一個 字串列表 ,列表中的每個元素都是一個字串,代表一行
例子:
fp = open('C:\Users\MPC\Desktop\說明.txt')lines = fp.readlines()for line in lines:...fp.close()
或者 第2 3 行 簡寫為:for line in fp.readlines():
在python2.3之後由於迭代器和檔案迭代(即檔案對象成為了他們自己的迭代器)的引入,
上例有一種更高效的實現方式:
fp = open('C:\Users\MPC\Desktop\說明.txt')for line in fp:...fp.close()
推薦使用這種方法!
2. 輸出
函數:write() , writelines()
將字串/列表 輸出到檔案中
write() : 將字串輸出到檔案
>>>f= open('test.txt','w')>>>f.write('Helloworld!')>>>f.close()>>>f= open('test1.txt','w')>>>f.write('Welcome\nto\n China!')>>>f.close()>>>f= open('test1.txt','w')>>>f.write('Welcome\nto\n China!')>>>f.close()
writelines(): 將字串列表 寫入 檔案,注意行結束符並不會自動被加入,如果需要,必須手動在每行的結尾加入行結束符。
什麼意思呢? 看下例:
>>>s= ['你好','夥計']>>>f= open('test.txt','w')>>>f.writelines(s)>>>f.close()>>>s= ['你好\n','夥計']>>>f= open('test.txt','w')>>>f.writelines(s)>>>f.close()>>>f = open(r'I:\python\test.txt','w')>>>f.write('First line\n')>>>f.write('Second line\n')>>>f.write('Third line\n')>>>f.close()>>>lines = list(open(r'I:\python\test.txt'))>>>lines['Firstline\n', 'Second line\n', 'Third line\n']>>>first,second,third = open(r'I:\python\test.txt')>>>first'Firstline\n'>>>second'Secondline\n'>>>third'Thirdline\n'
3. 檔案內移動
函數: seek() tell()
seek() :移動檔案讀取指標到制定的位置
tell(): 返迴文件讀取指標的位置
seek()的三種模式:
(1)f.seek(p,0) 移動當檔案第p個位元組處,絕對位置
(2)f.seek(p,1) 移動到相對於當前位置之後的p個位元組
(3)f.seek(p,2) 移動到相對文章尾之後的p個位元組
以上就是小編為大家帶來的python 讀寫txt檔案 json檔案的實現方法全部內容了,希望大家多多支援雲棲社區~