1. 讀取文件 使用 open 函數或者 file 函數來讀文件,使用文件名的字元串作為輸入參數 遍歷列印文件中每一行: 或: 2. 寫文件 open()預設已r模式打開文件,要想寫入,需已w模式打開文件。以w模式打開時,如果文件不存在則創建文件,如果文件存在則覆蓋之前的內容。 3. 關閉文件 關閉 ...
1. 讀取文件
使用 open
函數或者 file
函數來讀文件,使用文件名的字元串作為輸入參數
1 #讀取文件內容 2 3 f = open('test.txt') 4 5 print(f.read()) #讀取文件全部內容 6 print(f.readline()) #讀取文件第一行 7 print(f.readlines()) #返回一個列表,每個元素代表一行 8 9 f.close() #關閉文件
方法 | 描述 |
---|---|
read() | 一次讀取文件所有內容,返回一個str |
read(size) | 每次最多讀取指定長度的內容,返回一個str;在Python2中size指定的是位元組長度,在Python3中size指定的是字元長度 |
readlines() | 一次讀取文件所有內容,按行返回一個list |
readline() | 每次只讀取一行內容 |
遍歷列印文件中每一行:
1 with open('song.txt', 'r', encoding='utf-8') as f: 2 for line in f.readlines(): 3 print(line)
或:
1 with open('song.txt', 'r', encoding='utf-8', newline='') as f: 2 for line in f: 3 print(line)
2. 寫文件
open()預設已r模式打開文件,要想寫入,需已w模式打開文件。以w模式打開時,如果文件不存在則創建文件,如果文件存在則覆蓋之前的內容。
1 #寫入文件 2 3 f = open('test.txt', 'w') #使用w模式打開文件 4 f.write('hello world!') #寫入內容 5 f.close() #關閉文件
文件打開模式 | 描述 |
---|---|
r | 以只讀模式打開文件,並將文件指針指向文件頭;如果文件不存在會報錯 |
w | 以只寫模式打開文件,並將文件指針指向文件頭;如果文件存在則將其內容清空,如果文件不存在則創建 |
a | 以只追加可寫模式打開文件,並將文件指針指向文件尾部;如果文件不存在則創建 |
r+ | 在r的基礎上增加了可寫功能 |
w+ | 在w的基礎上增加了可讀功能 |
a+ | 在a的基礎上增加了可讀功能 |
b | 讀寫二進位文件(預設是t,表示文本),需要與上面幾種模式搭配使用,如ab,wb, ab, ab+(POSIX系統,包括Linux都會忽略該字元) |
3. 關閉文件
關閉文件可以保證內容已經被寫入文件,而不關閉可能會出現意想不到的結果。使用close()關閉文件。
可以用try...finally來保證文件無論如何都能被關閉:
1 #寫入文件 2 try: 3 f = open('test.txt', 'w+') #使用w+模式打開文件 4 f.write('hello world!') #寫入內容 5 finally: 6 if f: 7 f.close() 8 print('file has been closed. ')
事實上,Python提供了更安全的方法,當 with
塊的內容結束後,Python會自動調用它的close
方法,確保讀寫的安全:
1 #寫入文件 2 with open('test.txt', 'w') as f: 3 f.write('hello world!') #寫入內容 4 print(f.closed) #返回True