'r'
讀模式'w'
寫模式'a'
追加模式
'b'二進位制模式(可新增到其他模式中使用)
'+'讀或者寫模式(可新增到其他模式中使用)
read()方法:
一次讀取檔案所有內容。
a.txt檔案內容如下:
hello,world!
例項**:
f=open("a.txt",'r')
a=f.read()
f.close()
print(a)
輸出:hello,world!
read(3):
如果指定引數,例如read(3),那麼只讀取檔案內容的前3個字元。
f=open("a.txt",'r')
a=f.read(3)
f.close()
print(a)
輸出:hel
readline()方法:
一次讀取檔案內容的一行,換行符\n也包括。
a.txt內容如下:
2012
2013
2014
例項**:f=open("a.txt",'r')
a=f.readline()
b=f.readline()
f.close()
print(a,len(a))
print(b,len(b))
輸出:('2012\n', 5)
('2013\n', 5)
readlines()方法:一次讀取檔案中的所有行,並且把讀取的內容作為列表返回
f=open("a.txt",'r')
a=f.readlines()
f.close()
print(a)
輸出:['2012\n', '2013\n', '2014']
readlines方法和read雖然都是讀取全部檔案內容,但是還是有區別的,readlines方法會把檔案內容的每一行作為列表的乙個元素返回由整個檔案內容組成的列表。
write()方法:
write方法的引數就是要寫入的內容
f=open("a.txt",'w')
f.write("2017")
f.close()
如果當前目錄沒有a.txt檔案,系統會自動在當前目錄建立乙個a.txt,不會報錯,(但是如果是讀模式的話,要讀的檔案必須存在,否則報錯)。如果原來a.txt裡面有檔案內容,那麼寫入的內容會把原來的內容覆蓋掉,本例中,程式執行後,a.txt檔案內容為2017。如果不想覆蓋原來檔案的內容,只是在檔案內容尾部追加,那麼只需要把模式'w'換成'a',就可以了。
writelines()方法:writelines()方法和readlines()方法相反,傳給它乙個字串列表,它會把所有的字串寫入檔案。但是程式不會自己新增新的行,需要自己手動新增。(注意:沒有writeline方法)
f=open("a.txt",'w')
f.writelines(['2017\n','2018\n','2019'])
f.close()
執行上面**後,a.txt的檔案內容為:
2017
2018
2019
應該牢記使用close方法來關閉檔案,但是這樣可能會有些不方便,有可能程式沒有執行到close這行**的時候程式就崩潰了,導致檔案沒有關閉,有可能寫入的內容會失效,所以我們如果要確保檔案肯定被關閉了,需要使用try/finally語句
例如:
try:
f=open("a.txt",'w')
f.writelines(['2017\n','2018\n','2019'])
finally:
f.close()
這樣寫的話,檔案在任何情況下肯定會被關閉的。但是這樣寫有些麻煩,在python2.5之後的版本中,我們可以使用with....as....結構,例如:
with open("a.txt",'w') as f:
f.writelines(['2017\n', '2018\n', '2019'])
這樣我們連close()都不用寫了,是不是更方便!
posted @
2017-06-06 10:17
neu_張康 閱讀(
...)
編輯收藏
Python的檔案讀取操作
open函式負責開啟檔案,裡面的第乙個引數必須要有 檔案的路徑和名稱。第二個引數是操作方法 r 以唯讀方式開啟 w 寫方式開啟,會覆蓋以前的內容 x 建立方式開啟,如果檔案已經存在,報錯 b binary方式,以二進位制方式寫入 t 文字方式開啟 f open r text.txt w 寫的方式開啟...
Python 檔案的讀取操作
一.read,readline,readlines的區分 二.讀取檔案前四個字元,去掉檔案每行的空格 三.指標 f open mnt passwd rb print f.read 讀取檔案內容 print f.tell 列印值指標位置,讀取檔案後指標會移動到末尾,所以此時指標位置為5 f.write...
python 檔案遍歷 檔案讀取 檔案操作
一 檔案遍歷 import os filedir d os.sep data2 for root,dirs,files in os.walk filedir for dir in dirs print os.path.join root,dir for file in files print os....