1. 程式人生 > >Python中open()方法許可權詳解

Python中open()方法許可權詳解

幾種方式 · 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(0,0) 因為偏移量為0,所以指標在開頭位置 seek(0,1) 同理,此時指標在當前位置 seek(0,2) 此時指標在尾部

文中有可以用seek()方法替代的地方已經標出,如對本文有什麼疑問,可以在下方留言,共同進步。