打開文件
1.建立磁盤 上的文件與程序中的對象相關聯
2.通過相關的文件對象獲得
文件操作
(1)讀取(2)寫入(3)其他:追加、 計算等
關閉文件
(1)切斷文件與程序的聯系
(2)寫入磁盤, 並釋放文件緩沖區
打開文件
1 Open( ) 2 <variable> = open (<name>, <mode>)<name>磁盤文件名 3 <mode>打開模式
打開模式
1 #例如,打開一個名為7.1.txt文件 2 textfile = open("7.1.txt",'r') 3 4 #打開一個music.mp3的音頻文件 5 binfile = open('music.mp3','rb')
文件使用結束后要用close()方法關閉,釋放文件的使用授權,格式:
<變量名>.close()
文件的讀寫
read() 返回值為包含整個文件內容的一個字符串
readline()返回值為文件下一 行內容的字符串。
readlines()返回值為整個文件內容的列表,每項是以換行符為結尾的一行字符串。
1 #1 2 fname = input("輸入你要打開的文件:") 3 fo = open(fname,'r') 4 for line in fo.readlines(): 5 print(line) 6 fo.close() 7 #2 8 with open ("demo1.txt",'r',encoding='utf8')as f: 9 for line in f.readlines(): 10 print(line,end='')
上述代碼只適用簡短代碼,缺點是:文件非常大時,一次性將內容讀取到列表中會占用很多內存,
硬性執行速度。合理的方法是逐行讀入到內存,並逐行處理。Python將文件本身作為一個行序列,
遍歷文件的所有行。
1 1 fname = input("輸入你要打開的文件:") 2 2 fo = open(fname,'r') 3 3 for line in fo(): 4 4 print(line) 5 5 fo.close()
寫入文件
從計算機內存向文件寫入數據
write() :把含有本文數據或二進制數據塊的字符串寫入文件中。
writelines() :針對列表操作 ,接受 個字符串列表作為參數 ,將它
們寫入文件。
1 #寫法一 2 fname = input("請輸入要寫入的文件:") 3 fo = open(fname,'w+') 4 lst = ['This is a demo ','and demo'] 5 fo.writelines(lst) 6 for line in fo: 7 print(line) 8 fo.close() 9 10 #寫法二 11 lst=['This is a demo ','and demo'] 12 with open ("demo1.txt",'a',encoding='utf8')as f: 13 for x in lst: 14 f.write('{}\n'.format(x)) 15 16 with open ("demo1.txt",'r',encoding='utf8')as f: 17 for line in f.readlines(): 18 print(line,end='')
執行結果: