一、檔案處理流程
1.開啟檔案,得到檔案控制代碼並賦值給乙個變數
2.通過控制代碼對檔案進行操作
3.關閉檔案
r模式,預設模式,檔案不存在則報錯
w模式,檔案不存在則建立,檔案存在則覆蓋
a模式,檔案不存在則建立,檔案存在則不會覆蓋,寫內容會以追加的方式寫(寫日誌檔案的時候常用),追加模式是一種特殊的寫模式
b(rb,wb,ab)模式:不用加encoding:utf-8
1 f=open('c.txt','rb')二、基本操作1.檔案開啟模式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()
檔案控制代碼=open('檔案路徑',『模式』)
開啟檔案時,需要指定檔案路徑和以什麼方式開啟檔案。
開啟檔案的模式有:
# #唯讀模式
# f=open(r'c.txt',encoding='utf-8')
# # print('====>1',f.read())
# # print('====>2',f.read())
# # print(f.readable())
# # print(f.readline(),end='')
# # print(f.readline())
# # print("="*20)
# # print(f.read())
# print(f.readlines())
# f.close()
#寫模式:檔案不存在則建立,檔案存在則覆蓋原有的
# f=open("new.py",'w',encoding='utf-8')
# f.write('1111111111\n')
# f.writelines(['2222\n','2222548\n','978646\n'])
# f.close()
# 追加模式:檔案不存在則建立,檔案存在不會覆蓋,寫內容是追加的方式寫
# f=open('new.py','a',encoding='utf-8')
# f.write('nishishui\n')
# f.writelines(['aa\n','bb\n'])
# f.close()
"+" 表示可以同時讀寫某個檔案
"b"表示以位元組的方式操作
注:以b方式開啟時,讀取到的內容是位元組型別,寫入時也需要提供位元組型別,不能指定編碼
練習,利用b模式,編寫乙個cp工具,要求如下:
# 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)
四、檔案的修改
import os
with open('a.txt','r',encoding='utf-8') as read_f,\
open('a.txt.swap','w',encoding='utf-8') as write_f:
for line in read_f:
write_f.write(line)
os.remove('a.txt')
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+等模式下測試效果
# #唯讀模式# f=open(r'c.txt',encoding='utf-8')
# # print('====>1',f.read())
# # print('====>2',f.read())
# # print(f.readable())
# # print(f.readline(),end='')
# # print(f.readline())
# # print("="*20)
# # print(f.read())
# print(f.readlines())
# f.close()
#寫模式:檔案不存在則建立,檔案存在則覆蓋原有的
# f=open("new.py",'w',encoding='utf-8')
# f.write('1111111111\n')
# f.writelines(['2222\n','2222548\n','978646\n'])
# f.close()
# 追加模式:檔案不存在則建立,檔案存在不會覆蓋,寫內容是追加的方式寫
# f=open('new.py','a',encoding='utf-8')
# f.write('nishishui\n')
# f.writelines(['aa\n','bb\n'])
# f.close()
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後面加上...