Python文件I/O

1、文件打開/關閉

訪問模式 說明
r 以只讀方式打開,文件指針會放在文件開頭,這是默認訪問模式
w 以寫的方式打開,如已存在文件,則寫進的新內容會覆蓋本來的文件;若是不存在文件,系統則會新建一個空文件寫入
a 以追加方式打開,顧名思義,如文件內有內容,則新寫進去的內容會在原來的內容後面追加進去;如文件不存在,系統則會新建一個文件寫入
rb 以二進制格式、只讀的方式打開,文件指針會放在文件開頭,這是默認訪問模式
wb 以二進制格式、只寫的方式打開,如已存在文件,則新內容會覆蓋舊內容;如不存在文件,則新建一個文件
ab 以二進制格式、追加的方式打開,如已存在文件,文件指針會放在文件結尾,

注:用文本模式打開文件,會進行換行符的轉換app

用二進制模式打開文件,不會進行換行符的轉換(文件拷貝時,用二進制可實現原封不動的拷貝)函數

2、文件操做

 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')         
相關文章
相關標籤/搜索