open(file[,mode][,encoding][,errors])
四個引數(前兩個是必選引數,後兩個是可選引數):
file 檔案的路徑,絕對路徑,相對路徑均可
mode 檔案開啟模式
encoding 編碼, 編碼使用utf-8,或者 gbk,預設編碼是 gbk
errors 錯誤處理, ignore 忽略
read方法r
(read)以唯讀字元的方式開啟檔案, 如果檔案不存在,則會出現異常;反之,則直接開啟,檔案定位符放在起始位置
rb(read byte) 以唯讀二進位制的方式開啟檔案,如果檔案不存在,則會出現異常
r+(read byte) 以讀寫的形式開啟檔案,如果檔案不存在,則會出現異常,
rb +
(read byte) 以讀寫二進位制的方式開啟檔案,如果檔案不存在,則會出現異常
rf = open("文件.txt",mode="r",encoding="utf-8",errors="ignore")
注意:檔案不存在,則報異常:filenotfounderror
with open("文件.txt",mode="r",encoding="utf-8",errors="ignore") as f:
f.read() # 一次讀取全部內容
f.read(3) #read設定了引數, 引數表示讀取多少個字元,空格算字元,漢字算乙個字元
f.read(5) #如果繼續讀,是接著上次讀取到的地方繼續讀
rf.read(1024*1024) #大檔案讀取,1024k = 1m,1024*1m = 1g,
#seek用來跳到某個位置
# 引數1:offset 偏移量 正數n表示位置相對於參考位置向後移動n個位置, 負數表示向前移動
# 注意:位置的值不能是負數
# 引數2: shence 0表示相對於起始位置 1表示相對於當前位置,2相對於檔案的末尾
f.seek(6,1) #相對於當前位置,向後移動6個位置
f.readline() #讀取一行
f.readlines() #按行全部讀取 ,結果是包含了多行資料的列表
with語法:with可以自動的幫我們釋放資源,關閉連線,即在此處不需要執行close
rf = open("文件.txt",mode="rb")
content = rf.read()
# 字串前加上 b, 表示該資料是二進位制資料
# 將二進位制資料解碼decode
content = content.decode(encoding="utf-8")
# 以二進位制讀取資料時,read中的引數,表示帶去多少個位元組
# 在utf-8中,英文本母 佔據乙個位元組 , 漢字佔據3個位元組, gbk中漢字佔據2個位元組
# content = rf.read(11)
rf.close()
注意:使用二進位制時,不能設定編碼;讀寫完畢之後,都要關閉連線
write方法w
以只寫字元的方式開啟檔案, 如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,並擦除掉原檔案內容,檔案定位符放在檔案的開始位置,再寫時從檔案定位符開始寫
wb以只寫二進位制的形式開啟檔案,如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,並擦除掉原檔案內容,檔案定位符放在檔案的開始位置,再寫時從檔案定位符開始寫
w+以讀寫的形式開啟檔案,如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,並擦除掉原檔案內容,檔案定位符放在檔案的開始位置,再寫時從檔案定位符開始寫
wb+以讀寫二進位制的形式開啟檔案,如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,並擦除掉原檔案內容,檔案定位符放在檔案的開始位置,再寫時從檔案定位符開始寫
with open("文件.txt",mode="w",encoding="utf-8",errors="ignore") as f:
f.write() #一次寫入
f.writelines() #按行寫入,適用於csv檔案製表
f.flush() # 直接把內部緩衝區的資料立刻寫入檔案,而不是被動的等待自動重新整理緩衝區寫入
方法
a以追加字元的形式開啟檔案, 如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,不會擦除原始檔內容,檔案定位符放在末尾,從末尾開始寫
ab以追加二進位制的形式開啟檔案, 如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,不會擦除原始檔內容,檔案定位符放在末尾,從末尾開始寫
a+以讀寫的形式開啟檔案, 如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,不會擦除原始檔內容,檔案定位符放在末尾,從末尾開始寫
ab+以讀寫二進位制的形式開啟檔案, 如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,不會擦除原始檔內容,檔案定位符放在末尾,從末尾開始寫
使用方法參考write
python檔案的讀寫
檔案的讀 read size 1 readline size 1 readlines hint 1 這三個函式都會返回換行符 1.read size 1 當size為負數或者預設時讀整個檔案,當為正數的時候,讀指定的位元組數,返回讀的內容字串 2.readline size 1 當size為負數或者...
Python 檔案的讀寫
過程 1 開啟檔案 2 讀檔案內容 3 關閉檔案 1 開啟檔案 open path,flag encoding errors path 要開啟檔案的路徑 flag 開啟方式 r 以唯讀的方式開啟檔案,檔案的描述符放在檔案的開頭 rb 以二進位制格式開啟乙個檔案用於唯讀,檔案的描述符放在檔案的開頭 r...
python檔案的讀寫
使用write 可以完成向檔案寫入資料 demo 新建乙個檔案file write test.py,向其中寫入如下 f open test.txt w f.write hello world,i am here f.close 執行之後會在file write test.py檔案所在的路徑中建立乙個...