## 【wk15_1214】檔案與例外處理_line貼圖收集器 ## 【inclass practice】 ## 【ch09_檔案與例外處理】 9.1 檔案的操作 - 開啟檔案的語法 - 開啟檔案的模式 - 使用with...as 語法 - 檔案處理 9.2 檔案和目錄管理 - os.path 模組 - os 模組 9.3 例外處理 - try...except...else...finally 語法- - try...except...else...finally 使用方法 - try...except 常用錯誤表 ```python # line貼圖收集器 import requests, json, os from bs4 import BeautifulSoup url = 'https://store.line.me/stickershop/product/8991459/zh-Hant' #人的日常 html = requests.get(url) sp = BeautifulSoup(html.text, 'html.parser') #datas = sp.find_all('li', {'class':'mdCMN09Li FnStickerPreviewItem'}) datas = sp.find_all('li', {'class':'mdCMN09Li FnStickerPreviewItem static-sticker'}) # 建立目錄儲存圖片 images_dir= "line_image/" if not os.path.exists(images_dir): os.mkdir(images_dir) for data in datas: imginfo = json.loads(data.get('data-preview')) id = imginfo['id'] imgfile = requests.get(imginfo['staticUrl']) full_path = images_dir + id + '.png' with open(full_path, 'wb') as f: f.write(imgfile.content) print(full_path) ``` line_image/230054638.png line_image/230054639.png line_image/230054640.png line_image/230054641.png line_image/230054642.png line_image/230054643.png line_image/230054644.png line_image/230054645.png line_image/230054646.png line_image/230054647.png line_image/230054648.png line_image/230054649.png line_image/230054650.png line_image/230054651.png line_image/230054652.png line_image/230054653.png line_image/230054654.png line_image/230054655.png line_image/230054656.png line_image/230054657.png line_image/230054658.png line_image/230054659.png line_image/230054660.png line_image/230054661.png line_image/230054662.png line_image/230054663.png line_image/230054664.png line_image/230054665.png line_image/230054666.png line_image/230054667.png line_image/230054668.png line_image/230054669.png ```python #stickershop 完整 import requests, json, os from bs4 import BeautifulSoup #url = 'https://store.line.me/stickershop/product/8991459/zh-Hant' #人的日常 url = 'https://store.line.me/stickershop/product/24885624/zh-Hant' #喵咪跟兔嘰 html = requests.get(url) sp = BeautifulSoup(html.text, 'html.parser') datas = sp.find_all('li', {'class':'mdCMN09Li FnStickerPreviewItem static-sticker'}) imges_dir = "line_image/" if not os.path.exists(imges_dir): os.mkdir(imges_dir) for data in datas: imginfo = json.loads(data.get('data-preview')) id = imginfo['id'] imgfile = requests.get(imginfo['staticUrl']) full_path = imges_dir + id + '.png' with open(full_path, 'wb') as f: f.write(imgfile.content) print(full_path) ``` line_image/632876774.png line_image/632876775.png line_image/632876776.png line_image/632876777.png line_image/632876778.png line_image/632876779.png line_image/632876780.png line_image/632876781.png line_image/632876782.png line_image/632876783.png line_image/632876784.png line_image/632876785.png line_image/632876786.png line_image/632876787.png line_image/632876788.png line_image/632876789.png line_image/632876790.png line_image/632876791.png line_image/632876792.png line_image/632876793.png line_image/632876794.png line_image/632876795.png line_image/632876796.png line_image/632876797.png line_image/632876798.png line_image/632876799.png line_image/632876800.png line_image/632876801.png line_image/632876802.png line_image/632876803.png line_image/632876804.png line_image/632876805.png line_image/632876806.png line_image/632876807.png line_image/632876808.png line_image/632876809.png line_image/632876810.png line_image/632876811.png line_image/632876812.png line_image/632876813.png ```python #表情貼-1 import requests, json, os from bs4 import BeautifulSoup #url = 'https://store.line.me/stickershop/product/8991459/zh-Hant' #人的日常 #url = 'https://store.line.me/stickershop/product/24885624/zh-Hant' #喵咪跟兔嘰 url = 'https://store.line.me/emojishop/product/646b23ff903b5543729ffa4d/zh-Hant' #超實用❤生活用語對話框 #url = 'https://store.line.me/emojishop/product/61b04cbaf864dd7f3763ab8b/zh-Hant' #超實用❤手勢/符號 動態表情貼 html = requests.get(url) html ``` <Response [200]> ```python #表情貼-2 sp = BeautifulSoup(html.text, 'html.parser') #datas = sp.find_all('li', {'class':'mdCMN09Li FnStickerPreviewItem static-sticker'}) #datas = sp.find_all('li', {'class':'mdCMN09Li FnStickerPreviewItem'}) datas = sp.find_all('li', {'class':'mdCMN09Li FnStickerPreviewItem'}) print(datas) ``` [<li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "001", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/001.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/001.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/001.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/001.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "002", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/002.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/002.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/002.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/002.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "003", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/003.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/003.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/003.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/003.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "004", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/004.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/004.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/004.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/004.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "005", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/005.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/005.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/005.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/005.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "006", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/006.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/006.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/006.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/006.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "007", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/007.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/007.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/007.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/007.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "008", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/008.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/008.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/008.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/008.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "009", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/009.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/009.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/009.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/009.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "010", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/010.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/010.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/010.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/010.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "011", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/011.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/011.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/011.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/011.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "012", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/012.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/012.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/012.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/012.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "013", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/013.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/013.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/013.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/013.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "014", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/014.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/014.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/014.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/014.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "015", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/015.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/015.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/015.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/015.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "016", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/016.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/016.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/016.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/016.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "017", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/017.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/017.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/017.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/017.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "018", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/018.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/018.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/018.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/018.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "019", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/019.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/019.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/019.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/019.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "020", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/020.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/020.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/020.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/020.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "021", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/021.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/021.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/021.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/021.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "022", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/022.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/022.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/022.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/022.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "023", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/023.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/023.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/023.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/023.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "024", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/024.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/024.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/024.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/024.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "025", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/025.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/025.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/025.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/025.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "026", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/026.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/026.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/026.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/026.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "027", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/027.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/027.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/027.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/027.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "028", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/028.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/028.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/028.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/028.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "029", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/029.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/029.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/029.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/029.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "030", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/030.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/030.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/030.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/030.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "031", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/031.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/031.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/031.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/031.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "032", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/032.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/032.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/032.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/032.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "033", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/033.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/033.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/033.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/033.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "034", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/034.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/034.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/034.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/034.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "035", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/035.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/035.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/035.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/035.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "036", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/036.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/036.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/036.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/036.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "037", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/037.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/037.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/037.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/037.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "038", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/038.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/038.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/038.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/038.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "039", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/039.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/039.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/039.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/039.png?v=1);"></span> </div> </li>, <li class="mdCMN09Li FnStickerPreviewItem" data-preview='{ "type" : "static", "id" : "040", "staticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/040.png?v=1", "fallbackStaticUrl" : "https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/040.png?v=1", "animationUrl" : ""}'> <div class="mdCMN09LiInner FnImage"> <span class="mdCMN09Image" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/040.png?v=1);"></span> </div> <div class="mdCMN09ImgPreview FnPreviewImage MdNonDisp"> <span class="mdCMN09Image FnPreview" style="background-image:url(https://stickershop.line-scdn.net/sticonshop/v1/sticon/646b23ff903b5543729ffa4d/iPhone/040.png?v=1);"></span> </div> </li>] ```python #表情貼-3 imges_dir = "line_image_emojishop/" if not os.path.exists(imges_dir): os.mkdir(imges_dir) for data in datas: imginfo = json.loads(data.get('data-preview')) id = imginfo['id'] imgfile = requests.get(imginfo['staticUrl']) full_path = imges_dir + id + '.png' with open(full_path, 'wb') as f: f.write(imgfile.content) print(full_path) ``` line_image_emojishop/001.png line_image_emojishop/002.png line_image_emojishop/003.png line_image_emojishop/004.png line_image_emojishop/005.png line_image_emojishop/006.png line_image_emojishop/007.png line_image_emojishop/008.png line_image_emojishop/009.png line_image_emojishop/010.png line_image_emojishop/011.png line_image_emojishop/012.png line_image_emojishop/013.png line_image_emojishop/014.png line_image_emojishop/015.png line_image_emojishop/016.png line_image_emojishop/017.png line_image_emojishop/018.png line_image_emojishop/019.png line_image_emojishop/020.png line_image_emojishop/021.png line_image_emojishop/022.png line_image_emojishop/023.png line_image_emojishop/024.png line_image_emojishop/025.png line_image_emojishop/026.png line_image_emojishop/027.png line_image_emojishop/028.png line_image_emojishop/029.png line_image_emojishop/030.png line_image_emojishop/031.png line_image_emojishop/032.png line_image_emojishop/033.png line_image_emojishop/034.png line_image_emojishop/035.png line_image_emojishop/036.png line_image_emojishop/037.png line_image_emojishop/038.png line_image_emojishop/039.png line_image_emojishop/040.png ```python # 期末專題參考 # 凱薩密碼加密/解密 import string import matplotlib.pyplot as plt LETTERS = 'abcdefghijklmnopqrstuvwxyz,.() ' def encrypt(initial, shift): initial = initial.lower() output = "" for char in initial: if char in LETTERS: output += LETTERS[(LETTERS.index(char) + shift) % len(LETTERS)] return output def decrypt(initial, shift): initial = initial.lower() output = "" for char in initial: if char in LETTERS: output += LETTERS[(LETTERS.index(char) - shift) % len(LETTERS)] return output def plot_letter_frequency(text): text = text.lower() letter_count = {letter: 0 for letter in string.ascii_lowercase} for char in text: if char.isalpha(): letter_count[char] += 1 letters = list(letter_count.keys()) counts = list(letter_count.values()) plt.bar(letters, counts) plt.xlabel('Letters') plt.ylabel('Frequency') plt.title('Letter Frequency in Text') plt.savefig('./result.png') ## --------------- Main ------------------ message = input('請輸入要加密的訊息: ') key = int(input('請輸入密鑰: ')) # 加密 cipher = encrypt(message, key) print(f'\n加密結果: {cipher}') # 解密 plain = decrypt(cipher, key) print(f'\n解密結果: {plain}') #字數統計 plot_letter_frequency(cipher) ``` 請輸入要加密的訊息: Chanel 請輸入密鑰: 20029116 加密結果: sxq)u. 解密結果: chanel ![result](https://hackmd.io/_uploads/S1EAhldU6.png) ## 【afterclass practice】 1. 綜合演練 選擇題1-10 (需抄題在markdown cell ; 有程式碼的題目要有code cell ) 2. 教學影音 lesson 10 3. 請填寫小組報告主題 --- 【期末小組】管理 4. 請填寫筆記網站網址 --- 【OMP】問卷 ### 綜合演練 選擇題1-10 #### 1. 以open(filename[,mode][,encode]) 開啟檔案,下列何者是 mode 參數預設的模式? ( A ) 讀取模式 ( B ) 寫入模式 ( C ) 附加模式 ( D ) 以上皆是 答: ( A ) 讀取模式 #### 2. Python 提供何種內建函式,可以開啟指定的檔案,以便進行檔案內容的讀取、寫入或修改? ( A ) file() ( B ) input() ( C ) open() ( D ) output() 答: ( C ) open() #### 3. 下列何函式可以讀取一列字元? ( A ) readable() ( B ) read() ( C ) readlines() ( D ) get(ch) 答: ( B ) read() #### 4. 下列程式建立的檔案物件,可以執行何種動作? f=open('file1.txt','w') f.write("Hello Python!") f.close() ( A ) 讀取 ( B ) 寫入 ( C ) 可讀取也可寫入 ( D ) 以上皆非 答: ( B ) 寫入 #### 5. 執行下列程式,下列顯示結果何者正確? try: print(x) except: print("y") finally: print("z") ( A ) x ( B ) y ( C ) xz ( D ) yz ```python try: print(x) except: print("y") finally: print("z") ``` y z #### 6. open(filename,mode,encode) 函式的參數中,其中只有那一個參數是必填? ( A ) filename ( B ) mode ( C ) encode ( D ) 以上皆是 答: ( A ) filename #### 7. 如果作業系統是繁體中文 Windows 系統,預設的編碼為何? ( A ) UTF-8 ( B ) cp950 ( C ) unicode ( D ) GB2312 答: ( B ) cp950 #### 8. 下列有關 readlines() 的敘述,何者正確? ( A ) 會讀取全部文件內容 ( B ) 以串列方式傳回 ( C ) 包括「\n」跳列字元,甚至是隱含的字元 ( D ) 以上皆是 答: ( D ) 以上皆是 #### 9. 執行下列程式,下列顯示結果何者正確? n=1 try: print(n) except: print("變數不存在!") ( A ) 1 ( B ) n ( C ) 變數不存在 ( D ) 以上皆是 ```python n=1 try: print(n) except: print("變數不存在!") ``` 1 #### 10. 班上的除錯高手大匹,在他的程式中加入了錯誤的補捉在 try…except…finally 敘述中,無論例外有沒有發生都會執行下列那些程式區塊? ( A ) try ( B ) except ( C ) finally ( D ) 以上皆是 答: ( C ) finally ### 教學影音 lesson 10 ```python a = 11 b = 2 try : print(a / b) except ZeroDivisionError : print("ZeroDivisionError") except : print("except") else: print("else except") finally: print("after exception...") ``` 5.5 else except after exception... ```python a = 11 b = 0 try : print(a / b) except : print("except") else: print("else except") finally: print("after exception...") ``` except after exception... ```python a = 11 b = 0 try : print(a / b) except ZeroDivisionError : print("ZeroDivisionError") except : print("except") else: print("else except") finally: print("after exception...") ``` ZeroDivisionError after exception... ## 【self practice】 try: - 嘗試執行的程式碼 - 如果發生例外,則控制權轉移到相應的 except 區塊 except ExceptionType1 as e1: - 處理 ExceptionType1 類型的例外 except ExceptionType2 as e2: - 處理 ExceptionType2 類型的例外 else: - 如果在 try 區塊中沒有發生例外,則執行這裡的程式碼 finally: - 無論是否發生例外,都會執行這裡的程式碼 ```python try: x = 10 / 0 except ZeroDivisionError as e: print(f"Error: {e}") else: print("No exception occurred.") finally: print("Finally block is executed.") ``` Error: division by zero Finally block is executed. 1. ZeroDivisionError:除以零錯誤 2. ValueError:值錯誤,例如轉換數據類型時的錯誤 3. TypeError:類型錯誤,例如將不支持的操作應用於特定類型的對象 4. FileNotFoundError:文件未找到錯誤,當試圖打開不存在的文件時引發