1.文件的目的
就是把一些存儲存放起來捺信,可以讓程序下一次執(zhí)行的時候直接使用胸墙,而不必重新制作一份寸痢,省時省力
2.文件的打開與關(guān)閉
如果想用word編寫一份簡歷囊榜,應(yīng)該有哪些流程呢?
1.打開word軟件界拦,新建一個word文件
2.寫入個人簡歷信息
3.保存文件
4.關(guān)閉word軟件
同樣吸申,在操作文件的整體過程與使用word編寫一份簡歷的過程是很相似的
1.打開文件,或者新建立一個文件
2.讀/寫數(shù)據(jù)
3.關(guān)閉文件
?2.1打開文件
在python享甸,使用open函數(shù)截碴,可以打開一個已經(jīng)存在的文件,或者創(chuàng)建一個新文件
open(文件名蛉威,訪問模式)
示例如下: f = open('test.txt','w')
說明:
2.2關(guān)閉文件
lose( )
示例如下:
#新建一個文件日丹,文件名為:test.txt
f = open('test.txt','w')
#關(guān)閉這個文件
f.close()
2.3路徑
1.linux
2.windows
3.文件的讀寫
1.寫數(shù)據(jù)(write)
使用write()可以完成向文件寫入數(shù)據(jù)
demo:
f = open('test.txt','w')
f.write('hello world, i am here!')
f.close()
注意:
如果文件不存在那么創(chuàng)建,如果存在那么就先清空蚯嫌,然后寫入數(shù)據(jù)
2.讀數(shù)據(jù)(read)
使用read(num)可以從文件中讀取數(shù)據(jù)哲虾,num表示要從文件中讀取的數(shù)據(jù)的長度(單位是字節(jié)),如果沒有傳入num择示,那么就表示讀取文件中所有的數(shù)據(jù)
demo:
f = open('test.txt','r')
content = f.read(5)
print(content)
print("-"*30)
content = f.read()
print(content)
f.close()
注意:
·如果open是打開一個文件束凑,那么可以不用寫打開的模式,即只寫open('test.txt')
如果使用讀了多次栅盲,那么后面讀取的數(shù)據(jù)是從上次讀完后的位置開始的
3.讀數(shù)據(jù)(readlines)
就像read沒有參數(shù)時一樣汪诉,readlines可以按照行的方式把整個文件中的內(nèi)容進行一次性讀取,并且返回的是一個列表,其中每一行的數(shù)據(jù)為一個元素
f = open('test.txt','r')
content = f.readlines()
print(type(content))
i=1
fortempincontent:
print("%d:%s"%(i, temp))
i+=1
f.close()
4.讀數(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.應(yīng)用
1:制作文件的備份
任務(wù)描述:
輸入文件的名字扒寄,然后程序自動完成對文件進行備份
參考代碼:
oldFileName = input("請輸入要拷貝的文件名字:")
oldFile = open(oldFileName,'r')
#如果打開文件
ifoldFile:
#提取文件的后綴
fileFlagNum = oldFileName.rfind('.')
iffileFlagNum >0:
fileFlag = oldFileName[fileFlagNum:]
#組織新的文件名字
newFileName = oldFileName[:fileFlagNum] +'[復件]'+ fileFlag
#創(chuàng)建新文件
newFile = open(newFileName,'w')
#把舊文件中的數(shù)據(jù)鱼鼓,一行一行的進行復制到新文件中
forlineContentinoldFile.readlines():
newFile.write(lineContent)
#關(guān)閉文件
oldFile.close()
newFile.close()
2.獲取當前讀寫的位置
在讀寫文件的過程中,如果想知道當前的位置该编,可以使用tell()來獲取
從0開始到字符的個數(shù)
#打開一個已經(jīng)存在的文件
3.定位到某個位置
如果在讀寫文件的過程中迄本,需要從另外一個位置進行操作的話,可以使用seek()
seek(offset, from)有2個參數(shù)
1.offset:偏移量
2.from:方向
a)0:表示文件開頭(python3)
b)1:表示當前位置(python2)
c)2:表示文件末尾(python2)
demo:把位置設(shè)置為:從文件開頭课竣,偏移5個字節(jié)
demo:把位置設(shè)置為:離文件末尾嘉赎,3字節(jié)處
4.文件重命名
os模塊中的rename()可以完成對文件的重命名操作
rename(需要修改的文件名,新的文件名)
5.刪除文件
os模塊中的remove()可以完成對文件的刪除操作
remove(待刪除的文件名)