一、檔案處理流程
1.開啟檔案,得到檔案控制代碼並賦值給乙個變數
2.通過控制代碼對檔案進行操作
3.關閉檔案
r模式,預設模式,檔案不存在則報錯
w模式,檔案不存在則建立,檔案存在則覆蓋
a模式,檔案不存在則建立,檔案存在則不會覆蓋,寫內容會以追加的方式寫(寫日誌檔案的時候常用),追加模式是一種特殊的寫模式
b(rb,wb,ab)模式:不用加encoding:utf-8
1 f=open('c.txt','rb')
2 # print(f.read())
3 print(f.read().decode())
4 5 f=open('d.txt','wb')
6 f.write('啦啦啦'.encode('utf-8'))
7 f.close()
二、基本操作1.檔案開啟模式
檔案控制代碼=open('檔案路徑',『模式』)
開啟檔案時,需要指定檔案路徑和以什麼方式開啟檔案。
開啟檔案的模式有:
1 # #唯讀模式
2 # f=open(r'c.txt',encoding='utf-8')
3 # # print('====>1',f.read())
4 # # print('====>2',f.read())
5 # # print(f.readable())
6 # # print(f.readline(),end='')
7 # # print(f.readline())
8 # # print("="*20)
9 # # print(f.read())
10 # print(f.readlines())
11 # f.close()
12 13 #寫模式:檔案不存在則建立,檔案存在則覆蓋原有的
14 # f=open("new.py",'w',encoding='utf-8')
15 # f.write('1111111111\n')
16 # f.writelines(['2222\n','2222548\n','978646\n'])
17 # f.close()
18 19
20 # 追加模式:檔案不存在則建立,檔案存在不會覆蓋,寫內容是追加的方式寫
21 # f=open('new.py','a',encoding='utf-8')
22 # f.write('nishishui\n')
23 # f.writelines(['aa\n','bb\n'])
24 # f.close()
基本檔案操作 view code
"+" 表示可以同時讀寫某個檔案
"b"表示以位元組的方式操作
注:以b方式開啟時,讀取到的內容是位元組型別,寫入時也需要提供位元組型別,不能指定編碼
練習,利用b模式,編寫乙個cp工具,要求如下:
1 # b模式
三、上下文管理1. with open('a.txt','w') as f:
pass
2.with open('a.txt','r') as read_f,open('b.txt','w') as write_f:
data=read_f.read()
write_f.write(data)
四、檔案的修改
1 import os
2 with open('a.txt','r',encoding='utf-8') as read_f,\
3 open('a.txt.swap','w',encoding='utf-8') as write_f:
4 for line in read_f:
5 write_f.write(line)
6 7 os.remove('a.txt')
8 os.rename('.a.txt.swap','a.txt')
五、檔案內游標移動一: read(3):
1. 檔案開啟方式為文字模式時,代表讀取3個字元
2. 檔案開啟方式為b模式時,代表讀取3個位元組
二: 其餘的檔案內游標移動都是以位元組為單位如seek,tell,truncate
注意:1. seek有三種移動方式0,1,2,其中1和2必須在b模式下進行,但無論哪種模式,都是以bytes為單位移動的
seek控制游標的移動,是以檔案開頭作為參照的。
tell當前游標的位置
2. truncate是截斷檔案,截斷必須是寫模式,但是不能用w或w+等方式開啟,因為那樣直接清空檔案了,所以truncate要在r+或a或a+等模式下測試效果
分類:
python相關
python 檔案操作
簡明 python 教程 中的例子,python 執行出錯,用open代替file 可以執行。poem programming is fun when the work is done if you wanna make your work also fun use python f open e ...
python檔案操作
1,將乙個路徑名分解為目錄名和檔名兩部分 a,b os.path.split c 123 456 test.txt print a print b 顯示 c 123 456 test.txt 2,分解檔名的副檔名 a,b os.path.splitext c 123 456 test.txt pri...
Python 檔案操作
1.開啟檔案 如下 f open d test.txt w 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只寫 如果檔案 不存在,則自動建立檔案 a 附加到檔案末尾 r 讀寫 如果需要以二進位制方式開啟檔案,需要在mode後面加上...