python自學成才之路 文件讀寫操作

IO操作格式

python對文件IO操作有兩種格式,第一種是如下形式:

filepath = 'IOtest.txt'
try:
    f = open(filepath,'r')
    print(f.read())
finally:
    if f:
        f.close()

第二種是如下形式:

filepath = 'IOtest.txt'
with open(filepath,'r') as f:
    print(f.read())

第二種方式可以理解爲第一種方式的縮減版,第一種方式需要顯示的調用close來關閉IO流,第二種方式with會自動關閉IO流。推薦使用第二種方式。

open函數的第一個參數是文件路徑,第二個參數時IO模式,r表示只讀,w表示寫操作(寫之前會清空文件內容),a表示追加操作(不會清空文件內容)。在r模式下不能寫,在w模式些不能讀,如果想同時能夠執行讀寫操作可以使用r+模式,r+模式下可讀寫,且寫是追加模式寫。

讀操作

文件對象讀操作有一下幾種方法:
read():一次性讀入整個文件內容
readline():讀取一行文件內容
readlines():讀取整個文件內容,並返回按行劃分的文件內容列表
例如有一個IO.txt文件,內容如下:

hello world
hello world2
hello world4
filepath = 'IOtest.txt'
# 使用readline會逐行讀取
with open(filepath,'r') as f:
    print(f.readline().strip())
    print(f.readline().strip())
輸出:
hello world
hello world2

# 使用read會一次性全讀取出來
with open(filepath,'r') as f:
    print(f.read())

# 使用readlines會先返回文件內容列表,將內容先存放到lines中,即使文件IO關閉了,內容還能讀取
with open(filepath,'r') as f:
    lines = f.readlines()
for line in lines:
    print(line.strip())

# 如果要逐行讀取,直接遍歷文件對象就可以了
with open(filepath,'r') as f:
    for line in f:
        print(line.strip())

寫操作

# 使用a模式表示追加,使用w則表示覆蓋寫
with open(filepath,'a') as f:
    f.write("hello world")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章