Python電子教案7-1文件和數(shù)據(jù)格式化_第1頁
Python電子教案7-1文件和數(shù)據(jù)格式化_第2頁
Python電子教案7-1文件和數(shù)據(jù)格式化_第3頁
Python電子教案7-1文件和數(shù)據(jù)格式化_第4頁
Python電子教案7-1文件和數(shù)據(jù)格式化_第5頁
已閱讀5頁,還剩113頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第7章文件和數(shù)據(jù)格式化文件的使用文件是一個存儲在輔助存儲器上的數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容。概念上,文件是數(shù)據(jù)的集合和抽象,類似地,函數(shù)是程序的集合和抽象。用文件形式組織和表達(dá)數(shù)據(jù)更有效也更為靈活。文件包括兩種類型:文本文件和二進(jìn)制文件。文本文件一般由單一特定編碼的字符組成,如UTF-8編碼,內(nèi)容容易統(tǒng)一展示和閱讀。大部分文本文件都可以通過文本編輯軟件或文字處理軟件創(chuàng)建、修改和閱讀。由于文本文件存在編碼,所以,它也可以被看作是存儲在磁盤上的長字符串,例如一個txt格式的文本文件。文件概述二進(jìn)制文件直接由比特0和比特1組成,沒有統(tǒng)一字符編碼,文件內(nèi)部數(shù)據(jù)的組織格式與文件用途有關(guān)。二進(jìn)制是信息按照非字符但特定格式形成的文件,例如,png格式的圖片文件、avi格式的視頻文件。二進(jìn)制文件和文本文件最主要的區(qū)別在于是否有統(tǒng)一的字符編碼。二進(jìn)制文件由于沒有統(tǒng)一字符編碼,只能當(dāng)作字節(jié)流,而不能看作是字符串。無論文件創(chuàng)建為文本文件或者二進(jìn)制文件,都可以用“文本文件方式”和“二進(jìn)制文件方式”打開,但打開后的操作不同。文件概述微實(shí)例7.1:理解文本文件和二進(jìn)制文件的區(qū)別。首先,用文本編輯器生成一個包含“中國是個偉大國家!”的txt格式文本文件,命名為7.1.txt。分別用文本文件方式和二進(jìn)制文件方式讀入,并打印輸出效果,代碼如下:文件概述

輸出結(jié)果為:可以看到,采用文本方式讀入文件,文件經(jīng)過編碼形成字符串,打印出有含義的字符;采用二進(jìn)制方式打開文件,文件被解析為字節(jié)(byte)流。由于存在編碼,字符串中的一個字符由2個字節(jié)表示。文件概述Python對文本文件和二進(jìn)制文件采用統(tǒng)一的操作步驟,即“打開-操作-關(guān)閉”,如圖7.1所示。文件的打開關(guān)閉操作系統(tǒng)中的文件默認(rèn)處于存儲狀態(tài),首先需要將其打開,使得當(dāng)前程序有權(quán)操作這個文件,打開不存在的文件可以創(chuàng)建文件。打開后的文件處于占用狀態(tài),此時,另一個進(jìn)程不能操作這個文件??梢酝ㄟ^一組方法讀取文件的內(nèi)容或向文件寫入內(nèi)容,此時,文件作為一個數(shù)據(jù)對象存在,采用<a>.<b>()方式進(jìn)行操作。操作之后需要將文件關(guān)閉,關(guān)閉將釋放對文件的控制使文件恢復(fù)存儲狀態(tài),此時,另一個進(jìn)程將能夠操作這個文件。文件的打開關(guān)閉Python通過解釋器內(nèi)置的open()函數(shù)打開一個文件,并實(shí)現(xiàn)該文件與一個程序變量的關(guān)聯(lián),open()函數(shù)格式如下:<變量名>=open(<文件名>,<打開模式>)

open()函數(shù)有兩個參數(shù):文件名和打開模式。文件名可以是文件的實(shí)際名字,也可以是包含完整路徑的名字

文件的打開關(guān)閉

打開模式用于控制使用何種方式打開文件,open()函數(shù)提供7種基本的打開模式,如表7.1所示

文件的打開關(guān)閉打開模式使用字符串方式表示,根據(jù)字符串定義,單引號或者雙引號均可。上述打開模式中,‘r’、‘w’、‘x’、‘b’可以和‘b’、‘t’、‘+’組合使用,形成既表達(dá)讀寫又表達(dá)文件模式的方式。例如,open()函數(shù)默認(rèn)采用'rt'(文本只讀)模式,讀入程序所在目錄中7.1.txt文件:textfile=open('7.1.txt','r')或textfile=open('7.1.txt')讀取一個二進(jìn)制文件,如一個圖片、一段視頻或者一段音樂文件,需要使用文件打開模式'rb'。例如,打開一個名為'music.mp3'的音頻文件:binfile=open('music.mp3','rb')文件使用結(jié)束后要用close()方法關(guān)閉,釋放文件的使用授權(quán),該方法的使用方式如下:<變量名>.close()文件的打開關(guān)閉

當(dāng)文件被打開后,根據(jù)打開方式不同可以對文件進(jìn)行相應(yīng)的讀寫操作。注意,當(dāng)文件以文本文件方式打開時,讀寫按照字符串方式,采用當(dāng)前計算機(jī)上使用的編碼或指定編碼;當(dāng)文件以二進(jìn)制文件方式打開時,讀寫按照字節(jié)流方式。

Python提供4個常用的文件內(nèi)容讀取方法

文件的讀寫微實(shí)例7.2:文本文件逐行打印。用戶輸入文件路徑,以文本文件方式讀入文件內(nèi)容并逐行打印,代碼如下:程序首先提示用戶輸入一個文件名,然后打開文件并賦值給文件對象變量fo。文件的全部內(nèi)容通過fo.readlines()方法讀入到一個列表中,列表的每個元素是文件一行的內(nèi)容,然后通過for…in方式遍歷列表,處理每行內(nèi)容。文件的讀寫

上述代碼盡管完成了微實(shí)例7.2的要求,但存在一些缺點(diǎn):當(dāng)讀入文件非常大時,一次性將內(nèi)容讀取到列表中會占用很多內(nèi)存,影響程序執(zhí)行速度。一個合理的方法是逐行讀入內(nèi)容到內(nèi)存,并逐行處理。這可以通過一個簡單的方法解決。Python將文件本身作為一個行序列,遍歷文件的所有行可以直接這樣完成文件的讀寫如果程序需要逐行處理文件內(nèi)容,建議采用上述代碼中2-5行組成的格式,如下:fo=open(fname,"r")forlineinfo:#處理一行數(shù)據(jù)fo.close()文件的讀寫Python提供3個與文件內(nèi)容寫入有關(guān)的方法,如表7.3所示。微實(shí)例7.3:向文件寫入一個列表。向文件寫一個列表類型,并打印輸出結(jié)果,代碼如下:文件的讀寫文件的讀寫>>>請輸入要寫入的文件:test.txt>>>

可以看到,程序并沒有輸出寫入的列表內(nèi)容。在WriteFileAList1.py程序同目錄找到test.txt文件,打開可以看到其中的內(nèi)容是:列表ls內(nèi)容被寫入文件,但為何5-7行代碼沒有將這些內(nèi)容打印出來呢?這是因為文件寫入內(nèi)容后,當(dāng)前文件操作指針在寫入內(nèi)容的后面,5-7行代碼從這個指針開始向后讀入并打印內(nèi)容,被寫入的內(nèi)容卻在指針前面,因此未能被打印出來。為此,可以在寫入文件后增加一條代碼fo.seek(0)將文件操作指針返回到文件開始,即可顯示寫入的內(nèi)容,代碼如下。文件的讀寫程序執(zhí)行結(jié)果如下:文件的讀寫PIL庫的使用PIL(PythonImageLibrary)庫是Python語言的第三方庫,需要通過pip工具安裝,Python安裝第三方庫的詳細(xì)方法請見8.6節(jié)。安裝PIL庫的方法如下,需要注意,安裝庫的名字是pillow。PIL庫支持圖像存儲、顯示和處理,它能夠處理幾乎所有圖片格式,可以完成對圖像的縮放、剪裁、疊加以及向圖像添加線條、圖像和文字等操作。PIL庫概述PIL庫主要可以完成圖像歸檔和圖像處理兩方面功能需求:圖像歸檔:對圖像進(jìn)行批處理、生成圖像預(yù)覽、圖像格式轉(zhuǎn)換等;圖像處理:圖像基本處理、像素處理、顏色處理等。根據(jù)功能不同,PIL庫共包括21個與圖片相關(guān)的類,這些類可以被看作是子庫或PIL庫中的模塊,子庫列表如下。Image、ImageChops、ImageColor、ImageCrackCode、ImageDraw、ImageEnhance、ImageFile、ImageFileIO、ImageFilter、ImageFont、ImageGL、ImageGrab、Imagemath、ImageOps、ImagePalette、ImagePath、ImageQt、ImageSequence、ImageStat、ImageTk、ImageWinPIL庫概述在PIL中,任何一個圖像文件都可以用Image對象表示。表7.4給出了Image類的圖像讀取和創(chuàng)建方法。PIL庫Image類解析通過Image打開圖像文件時,圖像的柵格數(shù)據(jù)不會被直接解碼或者加載,程序只是讀取了圖像文件頭部的元數(shù)據(jù)信息,這部分信息標(biāo)識了圖像的格式、顏色、大小等。因此,打開一個文件會十分迅速,與圖像的存儲和壓縮方式無關(guān)。要加載一個圖像文件,最簡單的形式如下,之后所有操作對im起作用

PIL庫Image類解析其中,birdnest.jpg是一張鳥巢的夜景圖像,存儲在D:\pycodes目錄中,如圖7.2所示。在使用IDLE交互方式處理圖片文件時,建議采用文件的全路徑;如果使用Python文件形式,建議采用相對路徑,將文件和程序放到一個目錄中,例如:PIL庫Image類解析Image類有4個處理圖片的常用屬性,如表7.5所示。

查看已經(jīng)讀取圖像文件的屬性如下

PIL庫Image類解析Image還能讀取序列類圖像文件,包括GIF,FLI,FLC,TIFF等格式文件。open()方法打開一個圖像時自動加載序列中的第一幀,使用seek()和tell()方法可以在不同幀之間移動,如表7.6所示。PIL庫Image類解析微實(shí)例7.1:GIF文件圖像提取。對一個GIF格式動態(tài)文件,提取其中各幀圖像,并保存為文件。PIL庫Image類解析

微實(shí)例7.1展示了一種采用try…except編寫程序的方法,通過seek()方法和save()方法配合提取GIF圖像格式的每一幀,并保存為文件。Image類的圖像轉(zhuǎn)換和保存方法如表7.7所示。PIL庫Image類解析

其中,save()方法有兩個參數(shù):文件名filename和圖像格式format。如果調(diào)用時不指定保存格式,

如微實(shí)例7.1,PIL將自動根據(jù)文件名filename后綴存儲圖像;如果指定格式,則按照格式存儲。

搭配采用open()和save()方法可以實(shí)現(xiàn)圖像的格式轉(zhuǎn)換,例如,將png格式轉(zhuǎn)換為jpg格式,代碼如下。需要注意,Image類的save()方法主要用于保存文件到硬盤,PIL庫還提供了功能更強(qiáng)的格式轉(zhuǎn)換方法

PIL庫Image類解析生成"birdnest.jpg"圖像的縮略圖,代碼如下(續(xù)上一個IDLE指令),鳥巢圖片及其縮略圖如圖7.2所示。其中(128,128)是縮略圖的尺寸。PIL庫Image類解析北京鳥巢圖片及其縮略圖Image類可以縮放和旋轉(zhuǎn)圖像,方法如表7.8所示,其中,rotate()方法以逆時針旋轉(zhuǎn)的角度值作為參數(shù)來旋轉(zhuǎn)圖像。PIL庫Image類解析Image類能夠?qū)γ總€像素點(diǎn)或者一幅RGB圖像的每個通道單獨(dú)進(jìn)行操作,如表7.9所示。split()方法能夠?qū)GB圖像各顏色通道提取出來,merge()方法能夠?qū)⒏鳘?dú)立通道再合成一幅新的圖像。

PIL庫Image類解析微實(shí)例7.2:圖像的顏色交換。

交換圖像中的顏色。可以通過分離RGB圖片的三個顏色通道實(shí)現(xiàn)顏色交換。代碼如下,程序執(zhí)行效果如圖7.3所示,夜色下的北京鳥巢變成了藍(lán)色!PIL庫Image類解析PIL庫Image類解析被改變顏色的北京鳥巢圖片

操作圖像的每個像素點(diǎn)需要通過函數(shù)實(shí)現(xiàn),采用lambda函數(shù)和point()方法搭配使用,例子如下,顯示效果如圖7.4所示

PIL庫Image類解析PIL庫Image類解析去掉光線的北京鳥巢圖片

PIL庫的ImageFilter類和ImageEnhance類提供了過濾和增強(qiáng)的方法。ImageFilter類共提供10種預(yù)定義圖像過濾方法,如表7.10所示。圖像的過濾和增強(qiáng)利用Image類的filter()方法可以使用ImageFilter類,使用方式如下:

Image.filter(ImageFilter.fuction)微實(shí)例7.3:圖像的輪廓獲取。獲取圖像的輪廓,代碼如下,程序執(zhí)行效果如圖7.5所示,北京鳥巢變得更加抽象、更具想象空間!圖像的過濾和增強(qiáng)圖像的過濾和增強(qiáng)北京鳥巢圖片的輪廓效果

ImageEnhance類提供了更高級的圖像增強(qiáng)需求,它提供調(diào)整色彩度、亮度、對比度、銳化等功能,如表7.11所示。圖像的過濾和增強(qiáng)微實(shí)例7.4:圖像的對比度增強(qiáng)。增強(qiáng)圖像的對比度為初始的20倍。代碼如下,程序執(zhí)行效果如圖7.6所示。圖像的過濾和增強(qiáng)圖像的過濾和增強(qiáng)北京鳥巢圖片的20倍對比度增強(qiáng)效果

謝謝觀看/歡迎下載BYFAITHIMEANAVISIONOFGOODONECHERISHESANDTHEENTHUSIASMTHATPUSHESONETOSEEKITSFULFILLMENTREGARDLESSOFOBSTACLES.BYFAITHIBYFAITH一本萬利工程1、背景驅(qū)動2、盈利策略3、選菜試菜4、價值創(chuàng)造5、完美呈現(xiàn)6、成功面試7、持續(xù)改造(一)、一本萬利工程的背景驅(qū)動

1、什么是一本萬利

2、餐飲時代的變遷菜單經(jīng)驗的指導(dǎo)方針運(yùn)營市場定位的體現(xiàn)經(jīng)營水平的體現(xiàn)體現(xiàn)餐廳的特色與水準(zhǔn)溝通的工具餐廳對顧客的承諾菜單承諾的六大表現(xiàn)1、名字的承諾2、質(zhì)量的承諾3、價格的承諾4、規(guī)格標(biāo)準(zhǔn)的承諾5、外文翻譯的準(zhǔn)確6、保證供應(yīng)的承諾

1、顧客滿意度餐廳價值、價格、合理感、愉快感、安心感、美味感、便利感、滿足感、有價值感、喜悅感、特別感2-2、初期投資餐廳面積、保證金、設(shè)備投資、店鋪裝潢、器具用品投資、制服選定、菜單制作2-1、開業(yè)準(zhǔn)備廚具、供應(yīng)商選定、設(shè)計、用品選定、餐廳配置、員工訓(xùn)練、餐廳氣氛、促銷方式3、經(jīng)營數(shù)據(jù)營業(yè)額、客流量、成本率、人均消費(fèi)、顧客回頭率、出品速度、人事費(fèi)用菜單內(nèi)容決定決定相關(guān)相關(guān)決定決定決定決定以菜單為導(dǎo)向的硬件投資

1、餐廳的裝修風(fēng)格2、硬件設(shè)施服務(wù)操作3、餐廳動線4、餐具與家俬5、廚房布局6、廚房設(shè)備菜單設(shè)計正果1、能誘導(dǎo)顧客購買你想讓他買的餐點(diǎn)2、能迅速傳達(dá)餐廳要表達(dá)的東西3、雙贏:顧客喜歡、餐廳好賣餐廳時代的變遷食物時代硬體時代軟體時代心體時代食物食品饑食飽食品質(zhì)挑食品味品食品德懼食體驗人們正在追尋更多的感受,更多的意義更多的體驗,更多的幸福(二)盈利策略1、組建工程團(tuán)隊2、確定核心價值3、確定盈利目標(biāo)4、確定客單價5、設(shè)計盈利策略6、確定核心產(chǎn)品誰來設(shè)計菜單?產(chǎn)品=做得出來的物品商品=賣得出去的物品商家=產(chǎn)品具備商品附加值物(什么產(chǎn)品)+事(滿足顧客何種需求)從物到事從食物到餐飲從吃什么到為什么吃產(chǎn)品本身決定一本,產(chǎn)品附加值決定萬利從生理到心理從物質(zhì)到精神從概念到五覺體驗創(chuàng)造產(chǎn)品的五覺附加值體驗何來

一家企業(yè)以服務(wù)為舞臺以商品為道具,讓消費(fèi)者完全投入的時候,體驗就出現(xiàn)了PART01物=你的企業(yè)賣什么產(chǎn)品+事=能滿足顧客何種需求?確定核心價值理念核心價值理念1、賣什么樣的菜2、賣什么樣的氛圍?3、如何接待顧客?賣給誰?賣什么事?賣什么價?企業(yè)目標(biāo)的設(shè)定1、理論導(dǎo)向的目標(biāo)設(shè)定2、預(yù)算3、制定利潤目標(biāo)費(fèi)用營業(yè)額虧損區(qū)利潤區(qū)臨界點(diǎn)變動費(fèi)用總費(fèi)用營業(yè)額曲線費(fèi)用線X型損益圖利潤導(dǎo)向的目標(biāo)設(shè)定確定目標(biāo)設(shè)定營業(yè)收入=固定成本+目標(biāo)利潤1-變動成本率-營業(yè)稅率例:A餐廳每月固定成本40萬,變動成本50%,營業(yè)稅率5.5%,目標(biāo)利率每月8萬,問A餐廳的月營業(yè)收入:月營收入=(40+8)÷(1-50%-5.5%)=48÷0.445=108萬測算損益平衡點(diǎn)保本線=固定成本1-變動成本率-營業(yè)稅率例:A餐廳保本線=40÷(1-50%-5.5%)

=40÷0.445

=90萬定價的三重意義2、向競爭對手發(fā)出的信息和信號1、是利潤最大化和最重要的決定因素3、價格本事是價值的體現(xiàn)定價由此開始1、評估產(chǎn)品、服務(wù)的質(zhì)量2、尋求顧客價值與平衡點(diǎn)3、以價值定義市場確定客單價盈利占比策略

占比策略內(nèi)部策略銷售占比占比策略內(nèi)部策略10%40%10%20%20%(三)、選菜試菜1、ABC產(chǎn)品分析2、產(chǎn)品的確定(食材、口味、烹調(diào)、餐飲)3、成本的確定ABC分析策略毛利率營業(yè)額CBACABBACCCAA營業(yè)額C毛利A優(yōu)化、提升增加銷售雙A雙贏ABC顧客商品漲價保留虧本商品刪營業(yè)額A毛利C顧客超額、成本過高有意義的保留無意義的刪除雙C雙輸菜單內(nèi)容選擇的標(biāo)準(zhǔn)因素成本設(shè)備廚師技術(shù)操作空間菜系風(fēng)格吻合度品質(zhì)可控度原料供應(yīng)顧客喜好菜單協(xié)議度(銷售目標(biāo)、顏色、口味、造型、營養(yǎng)等)產(chǎn)品類別確定的四個方面1、按食材確定比例2、按口味確定比例3、按烹飪確定比例4、按餐飲確定比例

(無酒精飲品、含酒精飲品比例)框架依據(jù)操作依據(jù)目標(biāo)依據(jù)成本依據(jù)試口味成本操作第一次試菜的內(nèi)容精確的成本核算—五個關(guān)鍵詞1、凈料率(一料一控、一料多檔)2、調(diào)味料成本(單件產(chǎn)品、批量產(chǎn)品)3、燃料成本4、統(tǒng)一計量單位5、標(biāo)準(zhǔn)食譜成本卡試口味餐具造型色彩第二次試菜的內(nèi)容四料構(gòu)成表1、符合思想審定2、符合目標(biāo)審定3、符合定位審定4、符合框架審定四平構(gòu)成表(四)、創(chuàng)造價值1、定價策略的確定2、提升雙A核心產(chǎn)品的附加值3、增加更多的顧客選擇性顧客會記住的價格最低價人均消費(fèi)熱門暢銷品商品較多的價格帶最高價產(chǎn)品價格和觀念價值永遠(yuǎn)是不一樣的,體驗經(jīng)濟(jì)時代出售的不是產(chǎn)品價格,而是觀念定價與確定價格的區(qū)別確定價格產(chǎn)品、服務(wù)主導(dǎo)思路確定一個易于銷售的價格由企業(yè)根據(jù)成本以及和其他企業(yè)的比較確定定價基于顧客的價值私立評估價值、確定等級在顧客和企業(yè)的來往過程中確定企業(yè)定價三大策略1、薄利多銷策略2、相對穩(wěn)定價格策略3、高價位價格策略提升產(chǎn)品附加值的“十大絕招”三好七增名字好賣相故事服務(wù)選擇文案時間體驗健康推廣感覺“附加值”提升產(chǎn)品附加值的“兩大前提”一好味道二品質(zhì)確定好賣相美色器形設(shè)攝狀增健康少油湯汁鹽多有機(jī)養(yǎng)生品種增時間原材料生長原材料獲得制作耗時美味時間要求增文案—文字?jǐn)⑹鼍艈?、餐點(diǎn)是什么?2、如何烹調(diào)制作?3、如何呈現(xiàn)?4、有何故事?5、有否獨(dú)特的口味?6、有否體現(xiàn)品質(zhì)等級?7、食材的來源?8、有何獨(dú)特的體驗?9、對人有何好處?一料多烹多吃多味增選擇增推廣易拉寶臺卡小畫冊傳媒宣傳銷售人員介紹POP(五)、完美呈現(xiàn)1、專業(yè)團(tuán)隊的選擇與合作2核心價值的呈現(xiàn)平面制片攝影助理攝影師食品造型翻譯修圖師文案設(shè)計師跟印完稿員餐飲行業(yè)中照片的功能的三個層次傳遞信息吸引顧客傳播文化菜式拍攝菜式拍攝的本質(zhì)是靜物拍攝最根本的原則是對你的店鋪產(chǎn)生愉悅感不僅僅要讓顧客看見,更要問道和嘗到照片對菜單設(shè)計師的要求對餐飲行業(yè)有一定的了解了解餐廳的定位有全局觀和預(yù)見性善于溝通對平面設(shè)計師的要求熟練掌握各類設(shè)計軟件Photoshop

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論