訪問模式 | 說明 |
r | 以只讀方式打開,文件指針會放在文件開頭,這是默認訪問模式 |
w | 以寫的方式打開,如已存在文件,則寫進的新內容會覆蓋本來的文件;若是不存在文件,系統則會新建一個空文件寫入 |
a | 以追加方式打開,顧名思義,如文件內有內容,則新寫進去的內容會在原來的內容後面追加進去;如文件不存在,系統則會新建一個文件寫入 |
rb | 以二進制格式、只讀的方式打開,文件指針會放在文件開頭,這是默認訪問模式 |
wb | 以二進制格式、只寫的方式打開,如已存在文件,則新內容會覆蓋舊內容;如不存在文件,則新建一個文件 |
ab | 以二進制格式、追加的方式打開,如已存在文件,文件指針會放在文件結尾, |
注:用文本模式打開文件,會進行換行符的轉換app
用二進制模式打開文件,不會進行換行符的轉換(文件拷貝時,用二進制可實現原封不動的拷貝)函數
1 # 文件打開 2 file = open('myfile.txt','w') 3 write函數一次寫一行 4 file.write('若無若無\n') 5 # writelines函數一次能夠寫多行,參數是一個列表,列表中每一個元素佔一行 6 file.writelines(['aaa\n','bbb\n','ccc\n']) 7 file.close() #文件打開後要關閉,由於會佔用系統資源 8 # 文件讀取 9 file2 = open('file2.txt','r') 10 content = file2.readline() 11 content2 = file2.readline() 12 line = file2.readlines() 13 print(line) 14 # 去掉換行 15 for i in line: 16 if i[-1] == '\n': 17 print(i[:-1]) 18 else: 19 print(i) 20 file2.close() 21 22 # 文件複製(拷貝) 23 old_file = input('請輸入要拷貝的文件') 24 new_file = old_file + '.bk' 25 f_old = open(old_file,'rb') 26 f_new = open(new_file,'wb') 27 old_content = f_old.read() 28 f_new.write(old_content) 29 f_old.close() 30 f_new.close()
1 import os 2 def file_rename(): 3 """文件重命名""" 4 os.rename('myfile.txt','file1.txt') 5 6 file_rename() 7 8 def file_remove(): 9 os.remove('myfile.txt.bk')#只寫文件名,就默認在同級目錄下找 10 os.remove('E:\\11.txt')#要加斜槓,'\\'表示'\' 否則會報錯 11 file_remove()
1 #建立和刪除目錄 2 os.mkdir('E:\WEN.txt') 3 os.rmdir('E:\WEN.txt') 4 # 得到指定目錄下的文件列表 5 list = os.listdir() 6 print(list) 7 # 得到和設置工q做目錄 8 cwd = os.getcwd() #當前目錄 9 print(cwd)
1 #修改默認工做路徑 2 os.chdir('F:\Apple') #這行代碼彷佛要一直保留,不能註釋,否則在後面建立新文件夾時會跑到以前的工做路徑上創建。這裏搞了很久。。。 3 a = os.getcwd() 4 print(a) 5 os.mkdir('bapple')