open(path, flag[, encoding][, errors])
path:要開啟的檔案路徑
flag:字串型別引數,檔案的開啟方式(r/rb/r+/w/wb/w+/a/a+)
r 以唯讀的方式開啟檔案,檔案的描述符放在檔案的開頭
rb 以二進位制唯讀的方式開啟檔案,檔案的描述符放在檔案的開頭
w 以寫入的方式開啟檔案,檔案的描述符放在檔案的開頭;如果檔案已存在則進行覆蓋,否則會建立檔案。
wb 以寫入的方式開啟檔案,檔案的描述符放在檔案的開頭;如果檔案已存在則進行覆蓋,否則會建立檔案。
a 以追加的方式開啟檔案,檔案的描述符放在檔案的末尾
encoding:編碼方式(常用的是utf-8和gbk)
errors:錯誤處理
path = r'd:\my documents\code\python\test.txt'
# f = open(path, "r") # 僅傳入必填引數
f = open(path, "r", encoding = "utf-8", errors = "ignore")
以唯讀或讀寫模式開啟檔案後,可以進行讀取操作。
# 讀取檔案全部內容 f.read()
print(f.read())
# 讀取指定字元數 f.read(num)
print(f.read(10)) # 讀取10個字元
# 讀取整行,包括"/n" f.readline()
print(f.readline())
# 行內讀取指定字元數 f.readline(num)
print(f.readline(10))
# 讀取所有行並返回列表 f.readlines()
print(f.readlines())
# 讀取指定字元數的行資料 f.readlines(num)
print(f.readlines(25))
# 修改檔案描述符的位置 f.seek(num)
f.seek(10) # 當前定位到第10個字元
print(f.read()) # 返回第10個字元之後的所有資料
以可寫或讀寫模式開啟檔案後,可以進行寫入操作。
# 將資訊寫入緩衝區 f.write()
f.write("sunck is a good man!")
# 重新整理緩衝區 f.flush()
f.flush()
# 若沒有手動重新整理緩衝區,關閉檔案或緩衝區滿了以後,也會自動觸發緩衝區寫入檔案
f.close()
# 或者使用另一種方式簡化整個過程
with open(path, "a") as f:
f.write("sunck is a nice man!") # with會自動關閉檔案,此處以a模式開啟,對檔案追加內容
f.close()
try:
f = open(path, "r", encoding = "utf-8")
print(f.read())
finally:
if f:
f.close()
# 以上**也可以簡化為如下:
# 無論程式是否執行成功,with都會將檔案關閉
with open(path, "r", encoding = "utf-8") as f:
print(f.read())
pickle模組:資料永續性模組
集合型別的資料不是字串,必須以wb模式寫入檔案。
import pickle
mylist = [1, 2, 3, 4, 5, "sunck is a good man"]
path = r"c:\users\file1.txt"
f = open(path, "wb")
pickle.dump(mylist, f) # 寫入檔案內容
f.close()
f1 = open(path, "rb")
templist = pickle.load(f1) # 讀取檔案內容
f1.close()
Python檔案讀寫
今天在看python檔案讀寫操作,發現python file name mode buffering file 函式用於建立乙個file物件,它有乙個別名叫open 可能更形象一些,它們是內建函式。來看看它的引數。它引數都是以字串的形式傳遞的。name是檔案的名字。mode 是開啟的模式,可選的值為...
python檔案讀寫
檔案讀寫模式 模式 描述 r以讀方式開啟檔案,可讀取檔案資訊。w以寫方式開啟檔案,可向檔案寫入資訊。如檔案存在,則清空該檔案,再寫入新內容 a以追加模式開啟檔案 即一開啟檔案,檔案指標自動移到檔案末尾 如果檔案不存在則建立 r 以讀寫方式開啟檔案,可對檔案進行讀和寫操作。w 消除檔案內容,然後以讀寫...
python 讀寫檔案
python讀寫檔案在文字不大的情況可以用正常的 open 然後讀入 readline行讀入 或者整體讀入 read readlines 基本知識 file open path,r 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只...