一、打開文件操作
變量名=open(磁盤文件名,打開模式)
打開模式有一下幾種:
r 只讀。如果文件不存在,則輸出錯誤
w 只寫,如果文件不存在,則自動創建文件
a 表示附加到文件末尾
rb 只讀二進制文件。如果文件不存在,則輸出錯誤
wb 只寫二進制文件。如果文件不存在,則自動創建文件
ab 附加到二進制文件末尾。
r+ 讀寫
打開一個名爲“music.mp3”的音頻文件:
infile=open("music.mp3","rb")
打開一個名爲“numbers.dat”的文本文件:
infile=open("numbers.dat","r")
二、文件讀取
read() 返回值包含整個文件內容的一個字符串
readline() 返回值爲文件下一行內容的字符串
readlines() 返回值爲整個文件內容的列表,每項是以換行符爲結尾的一行
將文件內容輸出到屏幕上:
def main():
fname=input("Enter filename:")
infile=open(fname,"r")
data=infile.read()
print(data)
main()
輸出文件前五行內容:
infile=open(someFile,"r")
for i in range(5):
line=infile.readline()
print(line[:-1])
三、寫入文件
write() 把含有文本數據或二進制數據塊的字符串寫入文件中
writelines() 針對列表操作,接受一個字符串列表作爲參數,將他們寫入文件
例如:
outfile=open("outfile.txt","w")
outfile.writelines(["Hello","","world"])
outfile.close()
infile=open("outfile.txt","r")
infile.read()
運行結果:
Hello world
四、遍歷文件模版
通用代碼框架:
file=open(someFile,"r")
for line in file.readlines():
#處理一行文件內容
file.close()
簡化代碼框架:
file=open(someFile,"r")
for line in file:
#處理一行文件內容
file.close()
五、文件拷貝
def main():
#用戶輸入文件名
f1=input("Enter a source file:").strip()
f2=input("Enter a source file:").strip()
#打開文件
infile=open(f1,"r")
outfile=open(f2,"w")
#拷貝數據
countLines=countChars=0
for line in infile:
countLines+=1
countChars+=len(line)
outfile.write(line)
print(countLines,"lines and",countChars,"chars copied")
infile.close()
outfile.close()
main()