iT邦幫忙

2021 iThome 鐵人賽

DAY 24
0
AI & Data

爬蟲怎麼爬 從零開始的爬蟲自學系列 第 24

爬蟲怎麼爬 從零開始的爬蟲自學 DAY24 python檔案讀寫open( )

前言

各位早安,書接上回我們將程式碼改得更方便閱讀,還加上抓取連結的功能,今天我們要來介紹明天實作儲存資料功能會用到的 python 檔案讀寫功能

python檔案讀寫open()

open 方法是 python 對檔案做處理時常用的方法

變數名 = open("檔名", "模式", encoding="UTF-8")
變數名.write()
變數名.read()
變數名.close()

下面就讓我們來認識它吧

首先建立一個檔案 file.py 我們今天要用它來練習
https://ithelp.ithome.com.tw/upload/images/20211007/20140149G2TMaV7tNC.jpg

變數名 = open("檔名", "模式" , encoding="UTF-8")

open 的功能是打開檔案 如果沒這個檔案則會建立一個
檔名的部分則是依照你要甚麼檔案去取對應的副檔名
今天我們先用 "file.text" 文字文件的檔案來練習
模式則是決定我們的 open 方法可以有哪些功能的權限
常用的如下
1."w" : 以覆寫模式打開檔案
2."r" : 以唯讀模式打開檔案
3."a" : 以續寫模式打開檔案

如果是寫入模式則不能讀取 反之亦然

最後的 encoding="UTF-8") 是因為我們爬取的資料有中文
所以要指定編碼方式為 UTF-8 中文才能正常顯示

write()

我們用

file = open("file.text", "w", encoding="UTF-8")
file.write("早安您好")

注意模式是 "w" 喔
來寫入字串

執行之後下方沒有輸出 這是因為我們沒有 print
https://ithelp.ithome.com.tw/upload/images/20211007/20140149jbF6IWPw95.jpg
但是可以看到旁邊多出我們剛剛寫入的檔案
它本來不存在 所以系統自動幫我們建立

點開來
https://ithelp.ithome.com.tw/upload/images/20211007/20140149V0TlAE5EYM.jpg
剛剛寫入的資料就在這裡
你可以把 encoding="UTF-8" 刪掉再執行看看 會變成亂碼喔

read()

我們用

file = open("file.text", "r", encoding="UTF-8")
print(file.read())

注意模式要改成 "r" 喔
來讀取資料

我們可以到 file.text 去改裡面的內容
https://ithelp.ithome.com.tw/upload/images/20211007/20140149Tbhs95rodZ.jpg
記得按 CTRL+S 儲存變更

讀取成功
https://ithelp.ithome.com.tw/upload/images/20211007/20140149kcl32bzdFU.jpg
可以看到輸出的是改過的內容

close()

close() 又是用來做甚麼的呢
它是用來關閉我們 open() 開啟的檔案的
那為啥要關閉呢 不關會怎樣
是為了釋放運算資源喔
如果不關閉會等到程式執行完自動釋放
所以像練習時的簡單程式影響不大
但是一旦程式複雜 執行時間更長
就可能占用耗盡資源導致程式當掉
或是造成緩存的信息不見 甚至檔案損壞
所以在每個檔案用不到時要養成好習慣隨手 close() 掉它喔

今天我們只介紹了檔案讀寫處理最最基本的部分 也是明天會加進去的功能
還有很多東西可以學習 有興趣的可以去學相關知識喔

參考資料:
https://www.runoob.com/python/file-methods.html


早安閒聊區

你知道嗎?

恐龍其實可能有羽毛喔

每日二選一

你覺得是先有蛋還是先有雞呢


上一篇
爬蟲怎麼爬 從零開始的爬蟲自學 DAY23 python網路爬蟲開爬-5程式優化
下一篇
爬蟲怎麼爬 從零開始的爬蟲自學 DAY25 python網路爬蟲開爬6-資料儲存
系列文
爬蟲怎麼爬 從零開始的爬蟲自學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言