1. 程式人生 > >【課程11】檔案的讀寫

【課程11】檔案的讀寫

【檔案的開啟方式】

# fo = open('D:/py/file1.txt')
# N = fo.read()
#檔案的開啟,讀模式(檔案必須要存在)
#file_object = open(file_name ,access_mode = 'r')
# file_name 檔案路徑,分為相對路徑(D:/file)和絕對路徑(./file),(../返回根目錄)
# access_mode = 'r' 讀(定義時等於號指定的值,預設引數)、寫、讀+寫
fileDir = 'D:/py/file1.txt'
# fo = open(fileDir,'rb')
#檔案指標,檔案隊形的tell方法獲取檔案指標的位置
# print(fo.tell())#針對字串的方法
# print(fo.read(2))#讀兩位,讀完後指標變更位置
#seek方法,移動指標方法
# fo.seek(2,0)#從偶開始數移動2個游標
'''
0模式-絕對位置0,r模式返回字串
1模式-當前位置,需要rb模式(open(fileDir,'rb'))二進位制(bin)
2模式-從尾部開始算
'''
# print(fo.read(2))
# fo.seek(-2,2)#後面往前讀
# print(fo.read(2))
# fo.seek(2,1)
# print(fo.read())#讀所有的
# print(fo.tell())
#readline,每行作為list的一個元素,行尾是貸\n的
# print(fo.readline())#返回字串——不需要處理每行資料
# lines = fo.readlines()#返回列表——需要處理每行
# print(lines[0])
# print(fo.read().splitlines())#全部讀取--按/切割換行符
# fo.close()#檔案關閉

【檔案的讀寫】

str1 = 'ajdfajkd'
fo = open(fileDir,'w')#檔案存在清空,檔案不存在新建
fo.write(str1+'\n')#清空寫入新內容,可輸入後換行
fo.flush()#儲存
# fo.close()#檔案關閉,會自動儲存寫入內容

#a模式,寫模式,格式和w一樣(a寫入不清空,w模式寫入會清空)
#r+(可判斷檔案是否存在)、w+、a+(讀寫模式)
#with open方式
with open(fileDir) as fo , open(fileDir) as fo:
print('檔案操作')
#優點,不能寫關閉檔案close()
#可以對多個檔案進行操作