天天看點

Python零基礎學習筆記(三十)—— 讀檔案

'''
過程:
1、打開檔案
2、讀檔案内容
3、關閉檔案
'''
'''
1、打開檔案
open(path, flag[, encoding])
path:要打開檔案的路徑
flag:打開方式
r(read)   以隻讀方式打開檔案,檔案的描述符放在檔案的開頭
rb          以為進制格式打開檔案用于隻讀,檔案的描述符放在檔案的開頭
r+          打開一個檔案用于讀寫,檔案的描述符放在檔案的開頭
w           打開一個檔案隻用于寫入,如果該檔案已經存在會覆寫,不存在則建立新檔案
wb          打開一個檔案隻用于寫入二進制,如果該檔案已經存在會覆寫,不存在則建立新檔案
w+          打開一個檔案用于讀寫,如果該檔案已經存在會覆寫,不存在則建立新檔案
a           打開一個檔案用于追加,如果文集那存在,檔案描述符将會放到檔案末尾
a+          
encoding:編碼格式
errors:錯誤處理

'''
#打開檔案
path = r"E:\File.txt"
#f = open(path, "r", encoding = "utf-8",errors = "ignore")
f = open(path, "r")

'''
2、讀檔案内容
'''
#讀檔案的所有内容
str1 = f.read()
print("str1 =", str1)

#讀檔案中指定字元數
f.seek(0)       #修改描述符的位置
str2 = f.read(5)
print("str2 =", str2)

#讀取整行,包括"\n"字元
f.seek(0)
str3 = f.readline()
print("str3 =", str3)

#讀取所有行并傳回清單
f.seek(0)
str4 = f.readlines()
print("str4 =", str4)

#讀取指定字元數
f.seek(0)
str5 = f.readline(20)
print("str5 =", str5)

#修改描述符的位置
f.seek(0)

'''
3、關閉檔案
'''
f.close()


'''
完整過程
'''
#第一種
try:
    f1 = open(path,"r")
    print(f1.read())
finally:
    if f1:
        f1.close()
#更為簡單的方法
with open(path, "r", encoding= "gbk", errors="ignore") as f2:
    print(f2.read())