從文件中讀取數據
- 讀取整個文件
實例
with open('pi_digits.txt') as file_object:
contents=file_object.read()
print(contents)
其中,pi_digits.txt 爲同目錄下的文本文件。
關鍵字with在不再需要訪問文件後將其關閉。在這個程序中,注意到我們調用了open(),但 沒有調用close();你也可以調用open()和close()來打開和關閉文件,但這樣做時,如果程序存 在bug,導致close()語句未執行,文件將不會關閉。
open()函數接受一個參數,即要打開的文件名,返回一個表示文件的對象。
read()函數讀取文件中的全部內容。注意:read()到達最後返回一個空字符串,將該空字符串打印出來就是空行。若要刪除最後一個空行,可以使用rstrip()
- 逐行讀取
with open('pi_digits.txt') as file_object:
for line in file_object:
print(line)
每行結尾有一個看不見的換行符,print函數也會有一個換行符,因此,輸出後每行之間會有一行空格,可以用
line.rstrip()
來消除每行最後的換行符
- 創建包含文件各行的列表
with open('pi_digits.txt') as file_object:
lines=file_object.readlines()
for line in lines:
print(line)
- 將文件內容保存爲字符串使用
主要思想就是將每一行拼接在一起
string=''
with open('pi_digits.txt') as file_object:
lines=file_object.readlines()
for line in lines:
string+=line.rstrip()
print(string)
寫入文件
file_name='write.txt'
with open(file_name,'w') as file_object:
file_object.write('I love programming.')
此處‘w’,即寫,主義是清空原本內容後寫,此外還有r:讀 ,a:附加,若省略打開模式,默認是以讀取模式打開。
根據文件名查找文件,如果不存在該文件,則新建一個文件。
寫入多行內容時,記得行尾添加 ‘\n’,實現換行。