Python中open()方法許可權詳解
阿新 • • 發佈:2018-12-19
幾種方式 · r 只讀 可以省略開啟方式 如檔案不存在則報錯 · w 只寫 如檔案不存在則建立 開啟檔案時把原來的內容刪除再寫,即覆蓋 · a 追加 沒有讀的許可權 不覆蓋原先檔案,直接追加到檔案末尾 · + 可讀寫 · r+ 可讀寫,直接寫是從檔案開頭寫,read()後文件指標跳至檔案尾部,從尾部開始寫入,檔案不存在則報錯 · w+ 可讀寫,檔案不存在則建立,先把原檔案內容刪除,再寫 · a+ 追加讀寫
第一種:只讀 r
f = open('os1.txt', 'r')
f.read()
f.close()
第二種:只寫 w
f = open('os1.txt', 'w') f.write("\n111111111") # f.read("\n22") 會覆蓋之前的內容 f.close() # 如果不close要寫的內容只會在緩衝區,以下同理 #檢視是否寫入 f = open('os1.txt', 'r') print(f.read()) f.close()
第三種:追加 a
f = open('os1.txt', 'a')
f.write("\n7777777777")
f.close()
第四種:可讀寫 r+
f = open('os1.txt', 'r+')
print(f.read()) # 此方法不寫,則從檔案的開頭開始寫 可用 seek替代(0,2)下面會對seek有講解
f.write("\n8888888888")
f.close()
# 檢視檔案內容
f = open('os1.txt', 'r')
print(f.read())
f.close()
第五種:可讀寫 w+
f = open('os2.txt', 'w+', encoding='utf-8') # 檔案不存在則建立 f.close()
第六種:追加讀寫 a+
f = open('os1.txt', 'a+')
print(f.write("\ngg gg gg ggg"))
f.seek(0.0) # 指標定位到開頭,從頭開始讀
print(f.read()) # read()之後指標再次處於檔案尾部
f.close()
這裡不再對’+'進行贅述,一般都是跟其他許可權一起使用 接下來說一下file.seek()方法的使用: seek(offset[, whence]) · 開始的偏移量,也就是代表需要移動偏移的位元組數 · 可選,預設值為 0。0代表從檔案開頭開始偏移,1代表從當前位置開始向後偏移,2代表從檔案末尾向前偏移。 舉個栗子
文中有可以用seek()方法替代的地方已經標出,如對本文有什麼疑問,可以在下方留言,共同進步。