1、文件操作(介紹):
(1)什么是文件:計算機文件屬于文件的一種,與普通文件載體不同粹庞,計算機文件是以計算機硬盤為載體存儲在計算機上的信息集合咳焚。
(2)文件的作用:就是把一些存儲放起來洽损,可以讓程序下一次執(zhí)行的時候直接使用你,而不必重新制作一份革半,省時省力碑定。
2、文件的打開與關閉
如果想用word編寫一份簡歷,應該有哪些流程呢?
* 1又官、打開word軟件延刘,新建一個word文件
* 2、寫入個人簡歷信息
* 3六敬、保存文件
* 4碘赖、關閉word軟件
同樣,在操作文件的整體過程與使用word編寫一份簡歷的過程是很相似的
* 1外构、打開文件普泡,或者新建一個文件
* 2、讀寫數(shù)據(jù)
* 3审编、關閉文件
(1)打開文件:在Python中撼班,使用open函數(shù),可以打開一個已經(jīng)存在的文件垒酬,或者創(chuàng)建一個新文件砰嘁。open(文件名件炉,訪問模式)
訪問模式說明:1、(r)以只讀方式打開文件矮湘。文件的指針將會放在文件的開頭斟冕。這是默認模式 。
?2缅阳、(w)打開一個文件只用于寫入宫静。如果文件已經(jīng)存在則將其覆蓋。如果文件不存在券时,創(chuàng)建新文件孤里。
3、(a)打開一個文件用于追加橘洞。如果文件已經(jīng)存在捌袜,文件指針將會放在文件的結尾。也就是說炸枣,新的內(nèi)容將會被寫入到已有內(nèi)容之后虏等。如果文件不存在,會創(chuàng)建新的文件寫入适肠。
3霍衫、(rb)以二進制格式打開一個文件用于只讀。文件指針將會放到文件的開頭侯养,這是默認模式敦跌。
4、(wb)以二進制格式打開一個文件只用于寫入逛揩。如果文件已經(jīng)存在則將其覆蓋柠傍,如果該文件不存在,創(chuàng)建新文件辩稽。
5惧笛、(ab)以二進制格式打開一個吻見用于追加,如果文件已經(jīng)存在逞泄,文件指針將會放在文件末尾患整。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后喷众。如果該文件不存在各谚,創(chuàng)建新文件寫入。
6侮腹、(r+)打開一個文件用于讀寫嘲碧。文件指針將會放在文件的開頭。
7父阻、(w+)打開一個文件用于讀寫愈涩。如果該文件已經(jīng)存在則將其覆蓋望抽,如果文件不存在,創(chuàng)建新的文件履婉。
8煤篙、(a+)打開一個文件用于讀寫。如果文件已經(jīng)存在毁腿,文件指針將會放到文件的末尾辑奈。文件打開時候會追加模式。文件如果不存在已烤,創(chuàng)建新文件用于讀寫鸠窗。
9、(rb+)以二進制格式打開一個文件用于讀寫胯究,文件指針將會放在文件開頭稍计。
10、(wb+)以二進制格式打開一個文件用于讀寫裕循。如果該文件已經(jīng)存在則將其覆蓋臣嚣。如果文件不存在,創(chuàng)建新的文件剥哑。
11硅则、(ab+)以二進制格式打開一個文件用于追加。如果文件已經(jīng)存在株婴,文件指針將會放在文件末尾怎虫。如果該文件不存在,創(chuàng)建新文件用于讀寫督暂。
(2)關閉文件:close()
3揪垄、文件的讀寫
1、寫數(shù)據(jù):使用write()可以完成項文件寫入數(shù)據(jù)
2逻翁、讀數(shù)據(jù)(read)讀單個長度
使用read(num)可以從文本讀取數(shù)據(jù),num表示要從文件中讀取的數(shù)據(jù)的長度(單位是字節(jié))捡鱼,如果沒有傳入num八回,那么就表示讀取文件所有的數(shù)據(jù)。
f = open('test.txt', 'r')
content= f.read(5)
print(content)
print("*"*30)
content= f.read()
print(content)
f.close()
讀數(shù)據(jù)(readlines)讀所有行
f = open('test.txt','r')
content = f.readlines()
print(type(content))
i=1
for temp in content:
print('%d:%s'%(i,temp))
i+=1
f.close()
讀數(shù)據(jù)(readline)讀一行
f = open('test.txt', 'r')
content = f.readline()
print("1:%s"%content)
content = f.readline()
print("2:%s"%content)
f.close()
4 驾诈、文件的定位讀寫
1 缠诅、獲取當前讀寫的位置
在讀寫文件的過程,如果想知道當前的位置乍迄,可以使用tell()來獲取
# 打開一個已經(jīng)存在的文件
f = open("test.txt", "r")
str = f.read(3)
print "讀取的數(shù)據(jù)是 : ", str
# 查找當前位置
position = f.tell()
print "當前文件位置 : ", position
str = f.read(3)
print "讀取的數(shù)據(jù)是 : ", str
# 查找當前位置
position = f.tell()
print "當前文件位置 : ", position
f.close()
2管引、定位到某個位置
如果在讀寫文件的過程,需要從另一個位置進行操作的話闯两,可以使用seek(),seek(offset褥伴,from)有2個參數(shù)
* offset:偏移量
* from:方向
* 0:表示文件開頭
* 1:表示當前位置
* 2:表示文件末尾
demo:把位置設置為:從文件開頭谅将,偏移5個字節(jié)
# 打開一個已經(jīng)存在的文件
f = open("test.txt", "r")
str = f.read(30)
print "讀取的數(shù)據(jù)是 : ", str
# 查找當前位置
position = f.tell()
print "當前文件位置 : ", position
# 重新設置位置
f.seek(5,0)
# 查找當前位置
position = f.tell()
print "當前文件位置 : ", position
f.close()
demo:把位置設置為:離文件末尾,3字節(jié)處
# 打開一個已經(jīng)存在的文件
f = open("test.txt", "r")
# 查找當前位置
position = f.tell()
print "當前文件位置 : ", position
# 重新設置位置
f.seek(-3,2)
# 讀取到的數(shù)據(jù)為:文件最后3個字節(jié)數(shù)據(jù)
str = f.read()
print "讀取的數(shù)據(jù)是 : ", str
f.close()
5重慢、文件的重命名饥臂、刪除
1、文件的重命名
os模塊中的rename()可以完成對文件的重命名操作似踱,rename(需要修改的文件名隅熙,新的文件名)
2、刪除文件
os模塊中的remove()可以完成對文件的刪除文件核芽,remove(待刪除的文件名)