python進行檔案處理其實也很簡單,無法就那麼幾個要點。
1、開啟檔案
2、讀取檔案
3、寫入檔案
圍繞上面這三個要點展開了許多的方法,呼叫方法進行各種花樣的檔案處理。聽起來彷彿很牛逼,實際上沒有多少花頭,深刻理解了也就自然而然的掌握了。
例如先自己建立一個檔案,假設在D:\python-project\test.txt
下面一個一個的來說明上面三個知識點以及相對應的方法:
開啟讀取檔案
-- 開啟檔案就是open方法,但是開啟檔案的目的是讀取檔案內容或者寫入內容。
讀取的方法:
1> r 只讀
2> r+ 讀寫
my_file = 'D:\python-project\test.txt'
f = open('D:\python-project\test.txt','r',encoding='utf-8')
print(f)
輸出結果:<_io.TextIOWrapper name='D:\\python-project\\test.txt' mode='r' encoding='cp936'>
看到了嗎?上面這個結果是什麼呀?拿到的f實際上是一個檔案控制代碼,有了這個才可以呼叫檔案的各種方法。開啟檔案並讀取還有另外一種寫法:
with open('D:\python-project\test.txt','r',encoding='utf-8') as f:
pass
--其中encoding='utf-8'可以不寫,預設好像是gbk
讀取檔案的四個方法:
(1)f.read()
把檔案中的所有內容全部讀取出來,返回的是字串型別。
(2)f.readline()
按照行數把檔案內容讀取出來,一次只讀取一行,類似於next()方法,返回的是字串型別。
(3)f.readlines()
按照每一行讀取,並把檔案中所有內容讀出來後存放在表格中,返回的是一個列表。
(4)f.readable()
判斷是否有可讀許可權,如果有可讀許可權,則返回True,否則返回False。
寫檔案
f = open('D:\python-project\test.txt','w')
或
with open('D:\python-project\test.txt','w') as f:
pass
寫入檔案的三個方法:
(1)f.write('data')
只能新增字串,不可能新增序列,如列表
(2)f.writelines(['data1','data2'])
可以新增字串,也可以新增序列,但不能是數字序列。
(3)f.writable()
判斷是否有可寫許可權,如果有可寫許可權,則返回True,否則返回False。