一、檔案處理的流程
1.開啟檔案,得到檔案控制代碼並賦值給乙個變數
2.通過控制代碼對檔案進行操作
3.關閉檔案
示例:
d = open('abc'
)data1 =d.read()
(data1)
d.close()
二、關於檔案處理的函式
readable() #對檔案是否可讀進行判斷
readline() #
讀取檔案一行
readlines() #
把檔案處理成列表的形式
writeable() #
對檔案是否可寫進行判斷
writelines() #
將內容已列表的形式寫入檔案
write() #
將內容寫入檔案
#注:寫入的內容只能是字串格式
示例1:檔案的更改
read = open('aaa','
r',encoding='
utf-8')
data =read.readlines()
read.close()
write = open('
aaa','
w',encoding='
utf-8')
write.write(data[0])
write.close()
示例2:檔案的追加
add = open('aaa','
a',encoding='
utf-8')
add.write(
'333333333333333333333')
add.close()
三、檔案處理』b』模式
1.檔案不管以什麼編碼儲存到硬碟上,都是以二進位制方式儲存,所以在讀取時可以直接用二進位制來讀取,rb
2.rb,以二進位制來讀取,所以,不可以在使用encoding使用別的編碼
3.關於換行,windows以'\r\n'來換行,linux與unix以'\n'來換行
4.對字串進行編碼-->encode,對二進位制位元組(bytes)進行解碼—>decode
例:'b'模式進行檢視
#原始檔aaa內容:
aaabbb
ccc*******************b = open('
aaa','rb'
)data =b.read()
data1 =data.decode()
b.close()
(data)
(data1)
#結果:
b'aaa\r\nbbb\r\nccc
'aaa
bbbccc
例:'b'模式進行寫入
wb = open('aaa','wb'
)wb.write(bytes(
'aaa
',encoding='
utf-8'))
wb.write(
'bbb
'.encode('
utf-8'))
wb.close()
#輸出結果:
#aaa檔案內容為:aaabbb
四、seek的使用方法
file.seek()方法標準格式是:file.seek(offset,whence)
offset:開始的偏移量,也就是代表需要移動偏移的位元組數
whence:給offset引數乙個定義,表示要從哪個位置開始偏移;
0代表從檔案開頭開始算起。
1代表從當前位置開始算起。
2代表從檔案末尾算起。
whence值為空沒設定時會預設為0。
示例:
w = open('aaa','w'
)w.write(
'aaa\nbbb\nccc')
w.close()
rb = open('
aaa','rb'
)rb_seek = rb.seek(2)
rb1 = rb.read(4)
(rb_seek)
(rb1)
#結果:2b'
a\r\nb
'
高階示例:處理最後一行資料:
rb = open('abc','rb'
)chars = -20
for i in
rb:
while
true:
rb_seek = rb.seek(chars,2)
rb_read =rb.readlines()
if len(rb_read) > 1:
print(rb_read[1])
break
chars = chars*2
rb.close()
python的檔案處理
f open f.txt w r唯讀,w可寫,a追加 for i in range 0,10 f.write str i n f.close open是python的內建函式,有時候檔案由於編碼的不同,會造成亂碼,為了解決這個問題 可以使用codecs模組來解決這個問題 import codecs ...
python的檔案處理
1 什麼是檔案?檔案是作業系統為使用者或應用程式提供的乙個讀寫硬碟的虛擬單位 檔案的操作核心就 讀 寫 即我們只需要對於進行讀寫操作,就是對作業系統發起請求,然後由作業系統將使用者或者應用程式 對檔案的讀寫操作轉換成具體的硬碟指令 比如控制碟片轉動,控制機械手臂移動來讀寫資料 2 為什麼要有檔案?因...
python的檔案處理
01 檔案的開啟和關閉 開啟檔案 open 檔名,訪問模式 f open test.txt w 訪問模式 r w a rb wb ab r w a rb wb ab 關閉檔案 f.close 02 檔案的讀寫 寫資料f open test.txt w f.write hello world f.cl...