1. 程式人生 > 其它 >檔案操作(補充)

檔案操作(補充)

內容概要

  • 讀寫模式之---a模式
  • 檔案操作的相關方法
  • 檔案操作模式
  • 檔案操作程式碼練習題
  • 檔案內游標的移動及檔案修改

內容詳細

1.讀寫模式之---a模式

a 模式	# 只追加模式
	# 路徑不存在自動建立
eg:
with open(r'a.txt','a',encoding='utf8') as f:
	pass
	# 路徑存在 不會清空檔案 但會在檔案末尾新增內容
with open(r'a.txt', 'a', encoding='utf8') as f:
	f.write('今天週四了 馬上又要週末放假啦')


"""
總結:
	我們所瞭解的r w a讀寫模式都只能操作文字檔案
"""

2.檔案操作方法

檔案操作方法
# 1.讀系列
with open(r'a.txt, 'r', encoding='utf8') as f:
	print(f.read())  # 一次性讀取檔案內所有內容
	print(f.readline())  # 每次只讀檔案一行內容
	print(f.readlines())  # 讀取檔案所有的內容 組織成列表 每個元素是檔案的每行內容
	print(f.readable())  # 判斷當前檔案是否具備讀的能力

# 2.寫系列
with open(r'a.txt','w',encoding='utf8') as f:
	f.write('克服一切困難 奧利給!')  # 往檔案內寫入文字內容
	f.write(123)  # 寫入的內容必須是字串型別
	f.writelines(['jason','kevin','tony'])  # 可以將列表中多個字串元素全部寫入
	print(f.writable())  # True
	print(f.readable())  # False
	f.flush()  # 直接將記憶體內檔案資料刷到硬碟 相當於ctrl+s



3.檔案優化操作

with open(r'a.txt', 'r', encoding='utf8') as f:
	print(f.read())  # 一次性讀取檔案內所有的內容
	print(f.read())
	print(f.read())
"""
	1.一次性讀完之後 游標停留在了檔案末尾 無法再次讀取內容
	2.該方法在讀取大檔案的時候 可能會造成記憶體溢位的情況
		解決上述問題的策略就是逐行讀取檔案內容
"""
# for line in f:  # 檔案變數名f支援for迴圈 相當於一行行讀取檔案內容
'''
以後涉及到多行檔案內容的情況一般都是採用for迴圈讀取
'''


4.檔案操作模式

# t  文字模式
	1.預設的模式
		r w a  實際上就是>>> rt wt at
	2.該模式所有操作都是以字串基本單位(文字)
	3.該模式必須要指定encoding引數
	4.該模式只能操作文字檔案

# b  二進位制模式
	1.該模式可以操作任意型別的檔案
	2.該模式所有操作都是以bytes型別(二進位制)基本單位
	3.該模式不需要指定encoding引數
		rb wb ab