文件操作:
打開文件:open()
<variable> = open (<name>, <mode>)
<name>磁盤文件名稱
<mode>打開模式
打開模式:
r ,只讀。如果文件不存在,則輸出錯誤。
w ,只寫。如果文件不存在,則自動創建文件。
a ,附加到文件末尾。
rb ,只讀二進制文件,如果文件不存在,則輸出錯誤。
wb ,只寫二進制文件,如果文件不存在,則自動創建文件。
ab ,附加到二進制文件末尾。
r+ ,表示讀寫。
文件基本操作:寫入,讀出,定位
文件其他操作:追加、計算等
#打開文本文件
infile = open(“numbers.dat”,“r”)
#打開音頻文件
infile = open("music.mp3","rb")
文件讀取:
read() 返回值爲包含整個文件內容的一個字符串。
readline() 返回值爲文件下一行內容的字符串。
readlines() 返回值爲整個文件內容的列表,每項是以換行符爲結尾的一行字符串。
文件寫入:
write() 把含有文本數控或二進制數據塊的字符串寫入文件
writelines() 針對列表操作,接受一個字符串列表作爲參數,將它們寫入文件,並且結束符不會被自動加入。
文件遍歷,通用的代碼框架:
file = open(someFile,"r")
for line in file.readlines():
#處理一行文件內容
file.close()
文件遍歷,簡化的代碼框架:
file = open(someFule,"r")
for line in file:
#處理一行文件內容
file.close()
文件拷貝代碼示例:
# dothedocument3.py
#encoding=utf-8
# 文件拷貝
def main():
# 用戶輸入文件名
f1 = input("Enter a souce file:").strip()
f2 = input("Enter a souce 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," chats copied")
infile.close()
outfile.close()
main()