




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于python的英文詞典的建立摘要基于python的英文詞典的建立是對(duì)于mysql數(shù)據(jù)庫表的增刪改查的應(yīng)用,通過數(shù)據(jù)的顯示可以加強(qiáng)用戶對(duì)于自身的不足有了更多的把控,可以更全面的去復(fù)習(xí)英語知識(shí),最終促進(jìn)用戶的英語水平更上一層臺(tái)階。本文主要介紹在設(shè)計(jì)這款英文詞典中所構(gòu)思的各種模塊,所用到的具體的方法,所遇到的問題和具體解決的辦法。首先先建立思路,確定下來需要實(shí)現(xiàn)哪些功能,以及對(duì)應(yīng)功能需要用到的相應(yīng)的代碼設(shè)計(jì),接下來去具體一一實(shí)現(xiàn),驗(yàn)證代碼的正確性和所呈現(xiàn)的效果是否是所需要的,最終設(shè)計(jì)出簡易字典。該模塊主要以Django模塊為主,運(yùn)用python的語言,使用mysql實(shí)現(xiàn)數(shù)據(jù)庫,運(yùn)用MVC框架,Model(模型)、控制器(controller)和View(視圖)[12]p45-47,最終實(shí)現(xiàn)程序,為用戶帶來方便。關(guān)鍵詞:字典PythonMysqlMVCDjangoTheEstablishmentofanEnglishDictionaryBasedonPythonAbstractTheestablishmentofEnglishdictionarybasedonpythonistheapplicationofadding,deleting,modifyingandcheckingmysqldatabasetables.Throughdatadisplay,userscanhavemorecontrolovertheirownshortcomings,reviewEnglishknowledgemorecomprehensively,andfinallypromoteusers'Englishleveltoahigherlevel.ThispapermainlyintroducesthevariousmodulesIconceivedinthedesignofthisEnglishdictionary,thespecificmethodsused,theproblemsencounteredandthespecificsolutions.Firstofall,IsetuptheideologicalsystemtodeterminewhatfunctionsIneedtoachieveandthecorrespondingcodedesignthatmaybeneededforthecorrespondingfunctions.ThenIwilltrytoachievethecorrectnessofthecodeonebyoneandseeifwhatIneediswhatIwant,andfinallyachieveasimpledictionary.ThismodulemainlyfocusesonDjangomodule,USESpythonlanguage,USESmysqltoimplementdatabase,USESMTVframework,Model,TemplateandView,andfinallyimplementstheprogram,bringingconveniencetousers.keywords:DictionaryPythonMysqlMVCDjango目錄引言……………41.設(shè)計(jì)思路分析………………51.1建立數(shù)據(jù)表……………51.2結(jié)構(gòu)設(shè)計(jì)………………51.3具體功能模塊實(shí)踐……………………52.功能板塊詳解………………72.1程序流程圖詳解………………………72.2代碼及界面詳解………………………8結(jié)論……………14參考文獻(xiàn)………………………15致謝……………16附錄……………17引言本設(shè)計(jì)為設(shè)計(jì)英文詞典過程中所需用到的python各種代碼的作用與實(shí)現(xiàn),會(huì)使用到的語法知識(shí)點(diǎn)。代碼主要設(shè)計(jì)成了三個(gè)部分,分別對(duì)應(yīng)的是:(1)客戶端:滿足發(fā)起請(qǐng)求和獲取結(jié)果的主要功能;(2)服務(wù)端:邏輯處理部分,與客戶端的交互;(3)服務(wù)端數(shù)據(jù)處理部分,這一部分專門負(fù)責(zé)客戶端的數(shù)據(jù)的保存。主要采用的是套接字方法實(shí)現(xiàn)這些具體功能。課題任務(wù)的內(nèi)容:主要介紹自己所編寫的英文詞典所能實(shí)現(xiàn)的基本功能以及在實(shí)現(xiàn)功能的過程中所遇到的一些問題與相應(yīng)的解決方案。其中主要是用到了socket的套接字和多進(jìn)程并發(fā)模型,socket套接字使用的是udp套接字[1]p23-32,這樣雖然有一定的丟失的風(fēng)險(xiǎn),但是udp操作的比tcp來說會(huì)快一些,不會(huì)因?yàn)榈却粋€(gè)進(jìn)程而卡頓在那里,其他進(jìn)程都阻塞等待?;疽螅旱脑O(shè)計(jì)代碼部分一共分為3個(gè)版塊,客戶端版塊要求:歷史記錄方法查找要能實(shí)現(xiàn),一號(hào)界面和二號(hào)界面可以隨意來回的切換不會(huì)報(bào)錯(cuò),客戶注冊(cè)功能可以正確的實(shí)現(xiàn),可以正確的實(shí)現(xiàn)后跳轉(zhuǎn)到二級(jí)界面;服務(wù)端邏輯部分的要求:這一部分做要講的是前后端交互的,服務(wù)端的邏輯非常重要,客戶端返回的值返回到服務(wù)端之后,服務(wù)端能正確的接收和給出正確的反饋,這是必須要做到的要求,另外創(chuàng)建多進(jìn)程以確??蛻舳嗽L問量大了之后不會(huì)出現(xiàn)卡頓,多進(jìn)程一實(shí)現(xiàn)就要注意僵尸進(jìn)程的出現(xiàn),要避免僵尸進(jìn)程浪費(fèi)內(nèi)存;服務(wù)端數(shù)據(jù)處理部分要求:這一部分主要就是和數(shù)據(jù)庫的交互了,將所有用戶的信息存在里面,包括用戶名密碼還有各個(gè)用戶的搜索記錄等等,要能正確的存儲(chǔ)是一個(gè)很關(guān)鍵的要求。研究手段:針對(duì)增刪改查所要實(shí)現(xiàn)的代碼問題是這樣去解決的,首先明確增刪改查是在mysql表格中去實(shí)現(xiàn)的,所以要去查找關(guān)于mysql的有關(guān)書籍[3]p32-35,確定好方向,然后查找出自己需要的代碼類型;針對(duì)客戶端與服務(wù)端交互的問題是這樣去解決的,首相客戶端和服務(wù)端一定要統(tǒng)一好對(duì)接的“暗號(hào)”,譬如,客戶端登錄之后請(qǐng)求發(fā)送給了服務(wù)端,服務(wù)端接受請(qǐng)求,尋找數(shù)據(jù)庫發(fā)現(xiàn)有這個(gè)用戶那么就給客戶端返回一個(gè)“ok”,客戶端接收到“ok”之后就可以登錄界面,如果沒有該用戶那么就返回一個(gè)“用戶不存在”的返回值給客戶端,客戶端直接打印出來給用戶看;代碼上的小問題是通過查閱文獻(xiàn)來解決的需求的。1.設(shè)計(jì)思路分析1.1建立數(shù)據(jù)表如果完成了英文詞典的建立,那么用戶登錄信息,瀏覽記錄等就需要擁有一個(gè)表去存儲(chǔ)這些十分重要的數(shù)據(jù),不然用戶這一次登錄了,下一次再進(jìn)行登錄顯示不存在用戶或者其他錯(cuò)誤的話就會(huì)很麻煩。于是首先就要先創(chuàng)建一個(gè)對(duì)應(yīng)的數(shù)據(jù)庫,命名為dict。在數(shù)據(jù)庫中創(chuàng)建對(duì)應(yīng)的3張表[4]p12-14,首先創(chuàng)建一張用戶信息表,用戶信息表以便于存儲(chǔ)用戶登錄的用戶名和用戶密碼,對(duì)應(yīng)的數(shù)據(jù)表的結(jié)構(gòu)為:user:idnamepasswd;其次需要一張歷史記錄表,用來存儲(chǔ)所有用戶的歷史記錄查詢,以便于用戶在自己客戶端操作查詢歷史記錄時(shí)不會(huì)出現(xiàn)錯(cuò)誤,對(duì)應(yīng)的數(shù)據(jù)表的結(jié)構(gòu):hist:idnamewordtime,其中time顯示為用戶在什么時(shí)間查詢了這條記錄。最后也是最重要的一條數(shù)據(jù)表,那就是單詞表,這將是這個(gè)軟件所有的詞匯量的表現(xiàn),所有的單詞和它的意思都在這張表內(nèi),說得簡單點(diǎn),用戶查詢一個(gè)英文單詞的意思其實(shí)就是在調(diào)用單詞表中的某一條數(shù)據(jù),單詞數(shù)據(jù)表的結(jié)構(gòu):words:idwordmean。1.2結(jié)構(gòu)設(shè)計(jì)一段程序的設(shè)計(jì)首先就要確定好模塊的選擇,模塊主要分為MVC和MTV模塊,在這篇設(shè)計(jì)中使用的是MVC模塊類型[13]p1-5。首先將整體的需求劃分為3大模塊,(1)服務(wù)端1:邏輯處理部分;(2)服務(wù)端2:數(shù)據(jù)處理部分;(3)用戶端:發(fā)送請(qǐng)求接收結(jié)果,展示結(jié)果。如何進(jìn)行結(jié)構(gòu)的封裝的話,是選擇一些類與函數(shù)方法進(jìn)行封裝。這次的英文詞典的建立需要滿足以下功能:登錄,注冊(cè),查詢單詞,查看歷史記錄。另外在服務(wù)端需要自己設(shè)計(jì)一些協(xié)議對(duì)應(yīng)的特殊字符,用戶點(diǎn)擊登錄按鈕時(shí),需要向服務(wù)端發(fā)一個(gè)“L”[2]p122-125,服務(wù)端接收到請(qǐng)求給客戶端進(jìn)行回復(fù)。用戶點(diǎn)擊注冊(cè)按鈕時(shí),需要向服務(wù)端發(fā)一個(gè)“R”,服務(wù)端接收到請(qǐng)求給客戶端進(jìn)行回復(fù)。用戶點(diǎn)擊查單詞按鈕時(shí),需要向服務(wù)端發(fā)一個(gè)“Q”,服務(wù)端接收到請(qǐng)求給客戶端進(jìn)行回復(fù)。用戶點(diǎn)擊歷史記錄按鈕時(shí),需要向服務(wù)端發(fā)一個(gè)“H”,服務(wù)端接收到請(qǐng)求給客戶端進(jìn)行回復(fù)。如果用戶點(diǎn)擊退出按鈕時(shí),向服務(wù)器發(fā)送一個(gè)“E”,服務(wù)端接收到請(qǐng)求然后退出該用戶。1.3具體功能模塊實(shí)踐可以將模塊具體的分為以下幾個(gè)大部分:注冊(cè)部分;登錄部分;退出部分;查單詞部分;歷史記錄部分。首先注冊(cè)部分客戶端需要完成在輸入完注冊(cè)用戶名與密碼之后向服務(wù)端發(fā)起請(qǐng)求,然后等待結(jié)果;注冊(cè)的服務(wù)端接收到來自客戶端的請(qǐng)求后首先判斷該用戶是否可以注冊(cè)[4]p45-49,如果該用戶名已經(jīng)存在的話是不允許被注冊(cè)的,返回客戶端“N”通知客戶端結(jié)束,如果可以注冊(cè)返回一個(gè)“Y”然后數(shù)據(jù)庫將這條數(shù)據(jù)插入“user”表中,通知客戶端創(chuàng)建成功。登錄部分[5]p33-35:客戶端需要實(shí)現(xiàn)的是:輸入用戶名和密碼,然后客戶端發(fā)送請(qǐng)求給服務(wù)端,等待結(jié)果響應(yīng);服務(wù)端接收到來自客戶端的請(qǐng)求,到“user”數(shù)據(jù)庫中核實(shí)是否存在這樣一個(gè)用戶密碼是否正確,如果可以登錄則返回一個(gè)“Y”通知客戶端登陸成功,如果登錄失敗則返回一個(gè)“N”通知客戶端結(jié)束。查單詞部分:客戶端點(diǎn)擊查單詞按鈕給服務(wù)端發(fā)送請(qǐng)求,等待響應(yīng)結(jié)果;服務(wù)端接收到客戶端的請(qǐng)求,帶著客戶所需的單詞到數(shù)據(jù)庫中的“words”表中查詢與之相對(duì)應(yīng)的單詞,然后給客戶端返回對(duì)應(yīng)的結(jié)果。歷史記錄部分:客戶端點(diǎn)擊歷史記錄按鈕給服務(wù)端發(fā)送請(qǐng)求,等待響應(yīng)結(jié)果;服務(wù)端接收到客戶端的請(qǐng)求,到數(shù)據(jù)庫的hist表中尋找歷史記錄然后呈現(xiàn)出來返還給客戶端。2.功能板塊詳解程序流程圖詳解圖1思維流程如上述流程圖所示,這是的英語詞典的基本頁面的建立。首先打開這個(gè)小軟件會(huì)進(jìn)入到一級(jí)界面,也就是注冊(cè)、登錄、退出界面。點(diǎn)擊注冊(cè)會(huì)讓你填寫用戶名和密碼,如果成功的話用戶信息將存儲(chǔ)到數(shù)據(jù)庫[6]p11-15中,方便下一次的登錄;如果失敗的話顯示失敗重新返回第一級(jí)界面。點(diǎn)擊登錄按鍵,如果用戶名或者密碼輸入失敗導(dǎo)致登錄失敗的話會(huì)跳轉(zhuǎn)回一級(jí)界面;如果登錄成功的話會(huì)跳轉(zhuǎn)到二級(jí)界面,二級(jí)界面為查單詞、歷史記錄、注銷。點(diǎn)擊查單詞選項(xiàng),輸入你想要尋找的單詞,如果找到該單詞,那么字典將會(huì)把該單詞的注解和單詞本身打印出來顯示給客戶;如果你輸入的單詞不對(duì)的話或者沒有這個(gè)單詞的話會(huì)跳出“未找到該單詞”的字樣。二級(jí)界面點(diǎn)擊歷史記錄按鈕,系統(tǒng)將會(huì)匹配你現(xiàn)在登錄的用戶,到數(shù)據(jù)庫中給你匹配到相對(duì)的歷史記錄,然后打印出最近的10條記錄。如果二級(jí)界面點(diǎn)擊注銷按鈕,那么將會(huì)注銷掉當(dāng)前用戶然后自動(dòng)返回一級(jí)界面。如果在一級(jí)界面你點(diǎn)擊了退出按鈕那么將會(huì)跳出“謝謝使用”,然后結(jié)束英文詞典小程序。以上就是的英文詞典的基本設(shè)計(jì)思路,后續(xù)代碼就將圍繞這個(gè)思路去展開。圖2功能模型圖3結(jié)構(gòu)2.2代碼及界面詳解界面代碼設(shè)置:圖4一級(jí)界面如圖所示,這是所創(chuàng)建的一級(jí)界面的圖示,分為了注冊(cè),登錄,退出三個(gè)功能,定義這個(gè)界面是循環(huán)的(whileTrue),只要用戶不去選擇3號(hào)退出選項(xiàng)就會(huì)一直有這樣的一級(jí)界面,定義一個(gè)變量“cmd”就是用戶會(huì)輸入的序號(hào)值,選到相對(duì)應(yīng)的序號(hào)值時(shí)就會(huì)調(diào)用定義的相對(duì)應(yīng)的函數(shù)方法[7]p66-69。圖5二級(jí)界面二級(jí)界面和一級(jí)界面性質(zhì)是一樣的,二級(jí)界面是由一級(jí)界面登錄成功后跳出來的,同樣的點(diǎn)擊相對(duì)應(yīng)的編號(hào)可以跳轉(zhuǎn)到相對(duì)應(yīng)的函數(shù)方法用以實(shí)現(xiàn)所需實(shí)現(xiàn)的目的。圖6注冊(cè)功能這是的注冊(cè)功能,客戶端定義do_register方法[8]p156-160,創(chuàng)建新的name,password,定義一個(gè)新的變量,將“R”+name+password打包賦值給變量,send發(fā)送請(qǐng)求給服務(wù)端,服務(wù)端先進(jìn)入數(shù)據(jù)庫查詢?cè)撚脩羰欠褚呀?jīng)存在,如果存在的話返回一個(gè)注冊(cè)失敗給客戶端,如果用戶名與數(shù)據(jù)庫中所有用戶名不重復(fù),則創(chuàng)建該用戶到數(shù)據(jù)庫。另外值得關(guān)注的是創(chuàng)建成功之后依舊還是在第一界面而不會(huì)跳轉(zhuǎn)到第二界面。圖7登錄功能圖8登錄功能登錄操作如圖所示,輸入2號(hào)按鍵,進(jìn)入登錄界面,如果你輸入錯(cuò)誤的密碼或者用戶名時(shí),服務(wù)端執(zhí)行else命令,向客戶端端發(fā)送fail命令[9]p49-55,客戶端接收到fail就會(huì)顯示給客戶登錄失敗;登錄時(shí)執(zhí)行l(wèi)ogin函數(shù)方法,會(huì)將你輸入的用戶名和密碼帶進(jìn)數(shù)據(jù)庫中進(jìn)行匹配,如果是可以匹配到相同的用戶名與密碼的話,將會(huì)返回True,服務(wù)端接受到True然后就會(huì)返回給客戶端一個(gè)OK,客戶端接收到OK就知道匹配成功,返回登錄成功,并且緊跟著跳轉(zhuǎn)到2級(jí)界面。圖9歷史記錄圖10歷史記錄圖11歷史記錄圖12歷史記錄如上圖所示,這些基本就是查詢歷史記錄所會(huì)出現(xiàn)的所有可能性。當(dāng)你登錄成功后你在2級(jí)界面點(diǎn)擊2號(hào)歷史記錄按鈕后,系統(tǒng)將會(huì)自動(dòng)去匹配相對(duì)應(yīng)的用戶的歷史記錄,如果你是第一次登錄還沒有進(jìn)行過任何的查詢單詞的話,歷史記錄就會(huì)跳出“您還沒有查詢記錄”的字眼;如果你的用戶有過搜索記錄的話,那么系統(tǒng)會(huì)將在數(shù)據(jù)庫Hist表中相對(duì)應(yīng)的數(shù)據(jù)匹配打印出來,顯示給用戶看,并且后面還會(huì)有顯示你是在什么時(shí)間搜索的這個(gè)單詞,顯示時(shí)間的話是直接在python里面導(dǎo)入的time模塊,這是python自帶的功能模塊[10]p71-79,用起來很方便。可以對(duì)比圖11和圖12,一張是用戶界面顯示的歷史記錄,一張是數(shù)據(jù)庫存儲(chǔ)的歷史記錄,可以看到用戶界面只能看到10條記錄,而數(shù)據(jù)庫中歷史記錄表中卻存放著用戶的所有歷史記錄,這是通過定義了一個(gè)history函數(shù)方法來實(shí)現(xiàn)的,只抓取數(shù)據(jù)庫中前十條數(shù)據(jù)。圖13查詢功能圖14查詢功能如上圖所示,這是查詢單詞的功能。在登錄進(jìn)入二級(jí)界面后,點(diǎn)擊1號(hào)按鈕查單詞,本篇設(shè)計(jì)的英文詞典庫是從網(wǎng)上找到的一份比較完整比較全的英文詞典庫,幾乎包含了所有的英文單詞,當(dāng)你輸入單詞時(shí),下面會(huì)跳出對(duì)應(yīng)的單詞和其所表示的注解,但是如果沒有找到單詞的話則會(huì)跳出“沒有找到該單詞”的字樣。本級(jí)頁面默認(rèn)會(huì)一直執(zhí)行下去,但當(dāng)你輸入“##”時(shí),會(huì)結(jié)束查單詞功能界面,重新跳回二級(jí)界面。結(jié)論本篇設(shè)計(jì)主要介紹了簡易英文詞典的建立過程,最終是實(shí)現(xiàn)了簡易得英文詞典的諸多功能:登錄、退出、注冊(cè)、查找單詞、查詢歷史記錄和注銷。在畢業(yè)設(shè)計(jì)期間盡管遇到了很多的麻煩,但還是一一克服了,最終成功的將代碼轉(zhuǎn)換為了小程序。其中還是碰到了一些值得思考的問題,其中最主要的框架問題MTV和MVC的選擇,經(jīng)過抉擇選擇了MVC框架。\t"/item/MVC%E6%A1%86%E6%9E%B6/_blank"MVC全名是ModelViewController,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫業(yè)務(wù)邏輯。MVC被獨(dú)特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個(gè)邏輯的圖形化用戶界面的結(jié)構(gòu)中。使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)可以分別用\t"/item/MVC%E6%A1%86%E6%9E%B6/_blank"柱狀圖、\t"/item/MVC%E6%A1%86%E6%9E%B6/_blank"餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新[11]p79-88。其次需要解決的就是套接字的相關(guān)知識(shí),因?yàn)楸疚乃玫暮艽笠徊糠质翘捉幼值氖褂?。套接字:?shí)現(xiàn)網(wǎng)絡(luò)編程進(jìn)行數(shù)據(jù)傳輸?shù)囊环N技術(shù)手段,套接字分為流式套接字(tcp)和數(shù)據(jù)報(bào)套接字(udp),本設(shè)計(jì)采用的是流式套接字,主要步驟為:(1)創(chuàng)建套接字;(2)綁定地址;(3)設(shè)置監(jiān)聽隊(duì)列;(4)等待處理客戶端連接請(qǐng)求;(5)消息的收發(fā)(6)關(guān)閉套接字??傮w來說這篇設(shè)計(jì)還是有一些難度的,在4年的大學(xué)知識(shí)上拓寬了不少,這篇設(shè)計(jì)主要就是在代碼的實(shí)現(xiàn)上面和框架思想流程上面花了很大一部分功夫,框架一旦搭好,接下來就輕松一些了。在編寫代碼框架時(shí)有過一些時(shí)間的猶豫,究竟是使用MTV模式框架還是MVC模式框架,最終決定了選擇MVC模式框架,因?yàn)檫@次做的簡易的英文詞典走的是http協(xié)議,這樣思路更明確一些。除了問題外,還是有很多的收獲的,通過這次的畢業(yè)設(shè)計(jì)對(duì)自己知識(shí)的積累又更深了一些,認(rèn)識(shí)了網(wǎng)絡(luò)的tcp協(xié)議,還有udp協(xié)議;網(wǎng)絡(luò)模型的搭建,各個(gè)模塊間的關(guān)系建立[13]p22-29。認(rèn)為的這次畢業(yè)設(shè)計(jì)總體來說還是可圈可點(diǎn)的。本人的設(shè)計(jì)“基于python的英文詞典的建立”相較于其他的類似的英文詞典的優(yōu)勢(shì):1.界面淺顯易懂,大眾都可以操作,不論是什么年齡段的;2.代碼量較少,代碼類型見名知意,雖然看上去不是優(yōu)勢(shì),但是代碼量的多少?zèng)Q定著后期的修改程序的困難程度,并且尋找問題可以直接找到對(duì)應(yīng)的問題;3.歷史記錄可以精確到時(shí)分秒,其他類似的設(shè)計(jì)有的查詢是不包括時(shí)間這一項(xiàng)的,有的只是大概到年月日,沒有去更加的精確。參考文獻(xiàn)[1]張若愚.Python科學(xué)計(jì)算[M].北京:清華大學(xué)出版社,2012(01)[2]張若愚.Python科學(xué)計(jì)算(第二版)[M].北京:清華大學(xué)出版社,2016(04)[3]唐漢明翟振興關(guān)寶軍王洪權(quán)黃瀟.深入淺出MySQL[M]:人民郵電出版社,2014(01)[4]AlbertSweigart.python編程快速上手[M]:人民郵電出版社,2016(07)[5]LucianoRamalho.流暢的python[M]:人民郵電出版社,2017(05)[6]JeffForcier/PaulBissex.DjangoWeb開發(fā)指南[M]:機(jī)械工業(yè)出版社,2009[7]juilaElman/MarkLavin.輕量級(jí)Django[M]:中國電力出版社,2016(11)[8]段藝涂偉忠.Django開發(fā)從入門到實(shí)踐[M]:機(jī)械工業(yè)出版社,2019(11)[9]Ericmatthes.python編程從入門到實(shí)踐[M]:人民郵電出版社,2016年(07)[10]BaronSchwartz,PeterZaitsev,VadimTkachenko.高性能MYSQL[M]:電子工業(yè)出版社,2013(05)[11]西澤夢(mèng)路.MySQL基礎(chǔ)教程[M]:人民郵電出版社,2018(01)[12]王耀.深入理解SpringMVC源代碼[M]:中國水利水電出版社,2019(11)[13]小甲魚李佳宇.零基礎(chǔ)入門學(xué)習(xí)Python[M]:清華大學(xué)出版社,2016(11)致謝感到是十分的榮幸可以擁有這么一次編寫設(shè)計(jì)的機(jī)會(huì),這次編寫設(shè)計(jì)充分的展示了在大學(xué)四年中的所有所學(xué)所知所感,將所有的大學(xué)知識(shí)進(jìn)行了融會(huì)貫通,是一次十分重要的設(shè)計(jì)。在編寫設(shè)計(jì)的期間,經(jīng)常會(huì)有一些不懂的不會(huì)的問題,就會(huì)向的指導(dǎo)老師費(fèi)老師指教問題,費(fèi)老師接到的消息都能在第一時(shí)間聯(lián)系,指導(dǎo)解決的問題,然后詢問的設(shè)計(jì)進(jìn)度,督促的學(xué)習(xí)。真的十分榮幸能有費(fèi)老師當(dāng)做指導(dǎo)老師來指導(dǎo)的設(shè)計(jì),的畢業(yè)設(shè)計(jì)的完成脫離不了指導(dǎo)老師的功勞。編寫設(shè)計(jì)都是要有理論基礎(chǔ)支撐的,在確定了的設(shè)計(jì)題目之后也是有過一大段時(shí)間區(qū)尋找自己相關(guān)的設(shè)計(jì)文獻(xiàn)、知識(shí)和一些相關(guān)理論,在搭建自己的設(shè)計(jì)主體框架的過程中真的十分困難,問了的指導(dǎo)老師究竟該怎么辦,指導(dǎo)老師給指明了方向,于是在指導(dǎo)老師的指導(dǎo)下很快的確立好了方向和主體框架,然后一步一步完成了的畢業(yè)設(shè)計(jì),非常謝謝指導(dǎo)老師的幫助。大學(xué)四年匆匆一眼就過去了,還沒有什么感觸就已經(jīng)到了離開校園的時(shí)刻了。這篇設(shè)計(jì)將是在大學(xué)里留下的最后一筆,再見了的母校,再見了同學(xué)老師。在此再一次的感謝費(fèi)老師的設(shè)計(jì)指導(dǎo),祝您工作順利。附錄"""客戶端:發(fā)起請(qǐng)求獲取結(jié)果"""fromsocketimport*importsys#全局變量服務(wù)器地址ADDR=('',8000)defdo_query(s,name):whileTrue:word=input("單詞:")ifword=="##":breakmsg="Q%s%s"%(name,word)s.send(msg.encode())#發(fā)送請(qǐng)求#無論是否查到單詞都進(jìn)行打印data=s.recv(1024).decode()print(data)#歷史記錄defdo_hist(s,name):msg="H"+names.send(msg.encode())data=s.recv(128).decode()#判斷該用戶是否有歷史記錄ifdata=='OK':#接收歷史記錄whileTrue:data=s.recv(1024).decode()ifdata=='##':breakprint(data)else:print("您還沒有查詢記錄")#二級(jí)界面defsecond(s,name):whileTrue:print("===============Query===============")print("1.查單詞2.歷史記錄3.注銷")print("===================================")cmd=input("輸入命令:")ifcmd=='1':do_query(s,name)elifcmd=='2':do_hist(s,name)elifcmd=='3':Returnelse:print("請(qǐng)選擇正確命令")#注冊(cè)功能defdo_register(s):name=input("Name:")passwd=input('Password:')#發(fā)送請(qǐng)求msg="R%s%s"%(name,passwd)s.send(msg.encode())data=s.recv(128).decode()#等待結(jié)果ifdata=='OK':print("注冊(cè)成功")else:print("注冊(cè)失敗")#登錄功能defdo_login(s):name=input("Name:")passwd=input('Password:')#發(fā)送請(qǐng)求msg="L%s%s"%(name,passwd)s.send(msg.encode())data=s.recv(128).decode()#等待結(jié)果ifdata=='OK':print("登錄成功")second(s,name)else:print("登錄失敗")#鏈接服務(wù)器defmain():s=socket()s.connect(ADDR)#發(fā)起鏈接#一級(jí)界面whileTrue:print("=============Welcome==============")print("1.注冊(cè)2.登錄3.退出")print("==================================")cmd=input("輸入命令:")ifcmd=='1':do_register(s)elifcmd=='2':do_login(s)elifcmd=='3':s.send(b'E')sys.exit("謝謝使用")else:print("請(qǐng)選擇正確命令")if__name__=='__main__':main()"""服務(wù)端邏輯處理"""fromsocketimport*frommultiprocessingimportProcessimportsignal,sysfromdict_dbimportDatabasefromtimeimportsleep#定義地址為全局變量HOST=''PORT=8000ADDR=(HOST,PORT)#實(shí)例化一個(gè)對(duì)象幫助處理數(shù)據(jù)庫交互的工作(鏈接數(shù)據(jù)庫)db=Database()#注冊(cè)處理函數(shù)defdo_register(connfd,name,passwd):#調(diào)用數(shù)據(jù)處理方法判定可否注冊(cè)ifdb.register(name,passwd):connfd.send(b'OK')else:connfd.send(b'FAIL')#處理登錄請(qǐng)求defdo_login(connfd,name,passwd):ifdb.login(name,passwd):connfd.send(b'OK')else:connfd.send(b'FAIL')#處理單詞查詢defdo_query(connfd,name,word):db.insert_history(name,word)#插入歷史記錄mean=db.query(word)#查單詞msg="%s:%s"%(word,mean)connfd.send(msg.encode())#處理歷史記錄defdo_hist(connfd,name):r=db.history(name)#獲取歷史記錄查詢結(jié)果ifnotr:#沒有歷史記錄connfd.send(b'FAIL')returnelse:connfd.send(b'OK')foriinr:#i-->(namewordtime)msg="%s%s%s"%isleep(0.1)connfd.send(msg.encode())sleep(0.1)connfd.send(b'##')#處理客戶端請(qǐng)求defhandle(connfd):db.create_cursor()#每個(gè)進(jìn)程創(chuàng)建各自的游標(biāo)whileTrue:data=connfd.recv(1024).decode()#接收請(qǐng)求tmp=data.split('')ifnottmportmp[0]=='E':connfd.close()db.cur.close()returneliftmp[0]=='R':#"Rnamepassword"do_register(connfd,tmp[1],tmp[2])eliftmp[0]=='L':#"Lnamepassword"do_login(connfd,tmp[1],tmp[2])eliftmp[0]=='Q':#"Qnameword"do_query(connfd,tmp[1],tmp[2])eliftmp[0]=='H':#"Hname"do_hist(connfd,tmp[1])#創(chuàng)建多進(jìn)程并發(fā)模型defmain():#創(chuàng)建套接字s=socket()s.bind(ADDR)s.listen(3)#處理僵尸進(jìn)程signal.signal(signal.SIGCHLD,signal.SIG_IGN)print("Listentheport8000")whileTrue:#等待客戶端鏈接c,addr=s.accept()print("Connectfrom",addr)#為每個(gè)客戶端創(chuàng)建進(jìn)程p=Process(target=handle,args=(c,))p.start()if__name__=='__main__':main()"""服務(wù)端數(shù)據(jù)處理部分"""importpymysqlclassDatabase:def__init__(self):self.host=''self.port=3306self.user='root'self.password='123456'self.charset='utf8'self.database='dict'self.connect_database()defconnect_database(self):self.db=pymysql.connect(host=self.host,port=self.port,user=self.user,password=self.password,database=self.database,charset=self.charset)defcreate_cursor(self):self.cur=self.db.cursor()#幫server處理注冊(cè)成功True失敗返回Falsedefregister(self,name,passwd):#判斷這個(gè)姓名的用戶是否存在sql="selectnamefromuserwherename=%s;"self.cur.execute(sql,[name])r=self.cur.fetchone()#如果查詢到了說明該用戶已經(jīng)存在ifr:returnFalse#不可注冊(cè)else:#插入數(shù)據(jù)庫try:sql="insertintouser(name,passwd)values(%s,%s);"self.cur.execute(sql,[name,passwd])mit()returnTrueexcept:self.db.rollback()returnFalse#處理登錄deflogin(self,name,passwd):sql="selectnamefromuserwherename=%sandpasswd=%s;"self.cur.execute(sql,[name,passwd])r=self.cur.fetchone()ifr:returnTrueelse:returnFalse#查詢單詞defquery(self,word):sql="selectmeanfromwordswhereword=%s;"self.cur.execute(sql,[word])r=self.cur.fetchone()#也有可能查不到ifr:returnr[0]#將單詞解釋返回else:return"沒有找到該單詞"#插入歷史記錄definsert_history(self,name,word):sql="insertintohist(name,word)values(%s,%s);"try:self.cur.execute(sql,[name,word])mit()except:self.db.rollback()#提供歷史記錄defhistory(self,name):sql="selectname,word,timefromhistwherename=%sorderbytimedesclimit10;"self.cur.execute(sql,[name])returnself.cur.fetchall()#沒有查詢到內(nèi)容()查詢到了((),(),()。。。)"""將dict.txt單詞本中的單詞插入數(shù)據(jù)庫中words表"""importpymysql
電腦不啟動(dòng)故障診治了解電腦啟動(dòng)的過程在諸多電腦故障中,無法正常啟動(dòng)是最令用戶頭痛的事了。筆者長期從事維護(hù)電腦的工作,在這個(gè)方面積累了一些經(jīng)驗(yàn),現(xiàn)在就將這些經(jīng)驗(yàn)整理歸納出來與朋友們分享。本文將以家用電腦和windows98操作系統(tǒng)為基礎(chǔ),介紹電腦無法正常啟動(dòng)故障的診治。要想準(zhǔn)確地診斷電腦不啟動(dòng)故障,首先要了解的起動(dòng)過程,當(dāng)我們按下電源開關(guān)時(shí),電源就開始向主板和其它設(shè)備供電,此時(shí)電壓還沒有完全穩(wěn)定,主板控制芯片組會(huì)根據(jù)CMOS中的CPU主頻設(shè)置向CPU發(fā)出一個(gè)Reset(重置)信號(hào),讓CPU初始化,電壓完全穩(wěn)定后,芯片組會(huì)撤去Reset信號(hào),CPU馬上從地址FFFF0H處執(zhí)行一條跳轉(zhuǎn)指令,跳到系統(tǒng)BIOS中真正的啟動(dòng)代碼處。系統(tǒng)BIOS首先要做的事情就是進(jìn)行POST(PowerOnSelfTest,加電自檢)。POST的主要任務(wù)是檢測(cè)系統(tǒng)中的一些關(guān)鍵設(shè)備(電源、CPU芯片、BIOS芯片、定時(shí)器芯片、數(shù)據(jù)收發(fā)邏輯電路、DMA控制器、中斷控制器以及基本的64K內(nèi)存和內(nèi)存刷新電路等)是否存在和能否正常工作,如內(nèi)存和顯卡等。自檢通過后,系統(tǒng)BIOS將查找顯示卡的BIOS,由顯卡BIOS來完成顯示卡的初始化,顯示器開始有顯示,自此,系統(tǒng)就具備了最基本的運(yùn)行條件,可以對(duì)主板上的其它部分進(jìn)行診斷和測(cè)試,再發(fā)現(xiàn)故障時(shí),屏幕上會(huì)有提示,但一般不死機(jī),接著系統(tǒng)BIOS將檢測(cè)CPU的類型和工作頻率,然后開始測(cè)試主機(jī)所有的內(nèi)存容量,內(nèi)存測(cè)試通過之后,系統(tǒng)BIOS將開始檢測(cè)系統(tǒng)中安裝的一些標(biāo)準(zhǔn)硬件設(shè)備,這些設(shè)備包括:硬盤、CD-ROM、軟驅(qū)、串行接口和并行接口等連接的設(shè)備,大多數(shù)新版本的系統(tǒng)BIOS在這一過程中還要自動(dòng)檢測(cè)和設(shè)置內(nèi)存的相關(guān)參數(shù)、硬盤參數(shù)和訪問模式等。標(biāo)準(zhǔn)設(shè)備檢測(cè)完畢后,系統(tǒng)BIOS內(nèi)部的支持即插即用的代碼將開始檢測(cè)和配置系統(tǒng)中已安裝的即插即用設(shè)備。每找到一個(gè)設(shè)備之后,系統(tǒng)BIOS都會(huì)在屏幕上顯示出設(shè)備的名稱和型號(hào)等信息,同時(shí)為該設(shè)備分配中斷、DMA通道和I/O端口等資源。最后系統(tǒng)BIOS將更新ESCD(ExtendedSystemConfigurationData,擴(kuò)展系統(tǒng)配置數(shù)據(jù))。ESCD數(shù)據(jù)更新完畢后,系統(tǒng)BIOS的啟動(dòng)代碼將進(jìn)行它的最后一項(xiàng)工作,即根據(jù)用戶指定的啟動(dòng)順序從軟盤、硬盤或光驅(qū)啟動(dòng)。以從C盤啟動(dòng)為例,系統(tǒng)BIOS將讀取并執(zhí)行硬盤上的主引導(dǎo)記錄,主引導(dǎo)記錄接著從分區(qū)表中找到第一個(gè)活動(dòng)分區(qū),然后讀取并執(zhí)行這個(gè)活動(dòng)分區(qū)的分區(qū)引導(dǎo)記錄,而分區(qū)引導(dǎo)記錄將負(fù)責(zé)讀取并執(zhí)行IO.SYS,這是Windows最基本的系統(tǒng)文件。IO.SYS首先要初始化一些重要的系統(tǒng)數(shù)據(jù),然后就顯示出我們熟悉的藍(lán)天白云,在這幅畫面之下,Windows將繼續(xù)進(jìn)行DOS部分和GUI(圖形用戶界面)部分的引導(dǎo)和初始化工作,一切順利結(jié)束,電腦正常啟動(dòng)。根據(jù)故障現(xiàn)象診治了解電腦啟動(dòng)的過程,故障就好判斷了,下面我們就根據(jù)故障現(xiàn)象開始診治了:現(xiàn)象一:系統(tǒng)完全不能啟動(dòng),見不到電源指示燈亮,也聽不到冷卻風(fēng)扇的聲音。這時(shí),基本可以認(rèn)定是電源部分故障,檢查:電源線和插座是否有電、主板電源插頭是否連好,UPS是否正常供電,再確認(rèn)電源是否有故障,最簡單的就是替換法,但一般用戶家中不可能備有電源等備件,這時(shí)可以嘗試使用下面的方法(注意:要慎重):先把硬盤,CPU風(fēng)扇,或者CDROM連好,然后把ATX主板電源插頭用一根導(dǎo)線連接兩個(gè)插腳(把插頭的一側(cè)突起對(duì)著自己,上層插腳從左數(shù)第4個(gè)和下層插腳從右數(shù)第3個(gè),方向一定要正確),然后把ATX電源的開關(guān)打開,如果電源風(fēng)扇轉(zhuǎn)動(dòng),說明電源正常,否則電源損壞。如果電源沒問題直接短接主板上電源開關(guān)的跳線,如果正常,說明機(jī)箱面板的電源開關(guān)損壞。現(xiàn)象二:電源批示燈亮,風(fēng)扇轉(zhuǎn),但沒有明顯的系統(tǒng)動(dòng)作。這種情況如果出現(xiàn)在新組裝電腦上應(yīng)該首先檢查CPU是否插牢或更換CPU,而正在使用的電腦的CPU損壞的情況比較少見(人為損壞除外),損壞時(shí)一般多帶有焦糊味,如果剛剛升級(jí)了BIOS或者遭遇了CIH病毒攻擊,這要考慮BIOS損壞問題(BIOS莫名其妙的損壞也是有的),修復(fù)BIOS的方法很多雜志都介紹過就不重復(fù)了;確認(rèn)CPU和BIOS沒問題后,就要考慮CMOS設(shè)置問題,如果CPU主頻設(shè)置不正確也會(huì)出現(xiàn)這種故障,解決方法就是將CMOS信息清除,既要將CMOS放電,一般主板上都有一個(gè)CMOS放電的跳線,如果找不到這個(gè)跳線可以將CMOS電池取下來,放電時(shí)間不要低于5分鐘,然后將跳線恢復(fù)原狀或重新安裝好電池即可;如果CPU、BIOS和CMOS都沒問題還要考慮電源問題:PC機(jī)電源有一個(gè)特殊的輸出信號(hào),稱為POWERGOOD(PG)信號(hào),如果PG信號(hào)的低電平持續(xù)時(shí)間不夠或沒有低電平時(shí)間,PC機(jī)將無法啟動(dòng)。如果PG信號(hào)一直為低電平,則PC機(jī)系統(tǒng)始終處于復(fù)位狀態(tài)。這時(shí)PC機(jī)也出現(xiàn)黑屏、無聲響等死機(jī)現(xiàn)象。但這需要專業(yè)的維修工具外加一些維修經(jīng)驗(yàn),因此,建議采用替換法;電源沒有問題就要檢查是否有短路,確保主板表面不和金屬(特別是機(jī)箱的安裝固定點(diǎn))接觸。把主板和電源拿出機(jī)箱,放在絕緣體表面,如果能啟動(dòng),說明主板有短路現(xiàn)象;如果還是不能啟動(dòng)則要考慮主板問題,主板故障較為復(fù)雜,可以使用替換法確認(rèn),然后更換主板?,F(xiàn)象三:電源指示燈亮,系統(tǒng)能啟動(dòng),但系統(tǒng)在初始化時(shí)停住了,而且可以聽到嗽叭的鳴叫聲(沒有視頻):根據(jù)峰鳴代碼可以判斷出故障的部位。ccid_page/AwardBIOS1短聲:說明系統(tǒng)正常啟動(dòng)。表明機(jī)器沒有問題。2短聲:說明CMOS設(shè)置錯(cuò)誤,重新設(shè)置不正確選項(xiàng)。1長1短:說明內(nèi)存或主板出錯(cuò),換一個(gè)內(nèi)存條試試。1長2短:說明顯示器或顯示卡存在錯(cuò)誤。檢查顯卡和顯示器插頭等部位是否接觸良好或用替換法確定顯卡和顯示器是否損壞。1長3短:說明鍵盤控制器錯(cuò)誤,應(yīng)檢查主板。1長9短:說明主板FlashRAM、EPROM錯(cuò)誤或BIOS損壞,更換FlashRAM。重復(fù)短響:說明主板電源有問題。不間斷的長聲:說明系統(tǒng)檢測(cè)到內(nèi)存條有問題,重新安裝內(nèi)存條或更換新內(nèi)存條重試。AMIBIOS1短:說明內(nèi)存刷新失敗。更換內(nèi)存條。2短:說明內(nèi)存ECC較驗(yàn)錯(cuò)誤。在CMOS中將內(nèi)存ECC校驗(yàn)的選項(xiàng)設(shè)為Disabled或更換內(nèi)存。3短:說明系統(tǒng)基本內(nèi)存檢查失敗。換內(nèi)存。4短:說明系統(tǒng)時(shí)鐘出錯(cuò)。更換芯片或CMOS電池。5短:說明CPU出現(xiàn)錯(cuò)誤。檢查CPU是否插好。6短:說明鍵盤控制器錯(cuò)誤。應(yīng)檢查主板。7短:說明系統(tǒng)實(shí)模式錯(cuò)誤,不能切換到保護(hù)模式。8短:說明顯示內(nèi)存錯(cuò)誤。顯示內(nèi)存有問題,更換顯卡試試。9短:說明BIOS芯片檢驗(yàn)和錯(cuò)誤。1長3短:說明內(nèi)存錯(cuò)誤。內(nèi)存損壞,更換。1長8短:說明顯示測(cè)試錯(cuò)誤。顯示器數(shù)據(jù)線沒插好或顯示卡沒插牢?,F(xiàn)象四:系統(tǒng)能啟動(dòng),有視頻,出現(xiàn)故障提示,這時(shí)可以根據(jù)提示來判斷故障部位。下面就是一些常見的故障提示的判斷:一、提示“CMOSBatteryStateLow”原因:CMOS參數(shù)丟失,有時(shí)可以啟動(dòng),使用一段時(shí)間后死機(jī),這種現(xiàn)象大多是CMOS供電不足引起的。對(duì)于不同的CMOS供電方式,采取不同的措施:1.焊接式電池:用電烙鐵重新焊上一顆新電池即可;2.鈕扣式電池:直接更換;3.芯片式:更換此芯片,最好采用相同型號(hào)芯片替換。如果更換電池后時(shí)間不長又出現(xiàn)同樣現(xiàn)象的話,很可能是主板漏電,可檢查主板上的二極管或電容是否損壞,也可以跳線使用外接電池,不過這些都需要有一定的硬件維修基礎(chǔ)才能完成。二、提示“CMOSChecksumFailure”CMOS中的BIOS檢驗(yàn)和讀出錯(cuò);提示“CMOSSystemOptionNotSet”,CMOS系統(tǒng)未設(shè)置;提示“CMOSDisplayTypeMismatch”,CMOS中顯示類型的設(shè)置與實(shí)測(cè)不一致;提示“CMOSMemorySizeMismatch”,主板上的主存儲(chǔ)器與CMOS中設(shè)置的不一樣;提示“CMOSTime&DateNotSet”,CMOS中的時(shí)間和日期沒有設(shè)置。這些都需要對(duì)CMOS重新設(shè)置。三、提示“KeyboardInterfaceError”后死機(jī)原因:主板上鍵盤接口不能使用,拔下鍵盤,重新插入后又能正常啟動(dòng)系統(tǒng),使用一段時(shí)間后鍵盤無反應(yīng),這種現(xiàn)象主要是多次拔插鍵盤引起主板鍵盤接口松動(dòng),拆下主板用電烙鐵重新焊接好即可;也可能是帶電拔插鍵盤,引起主板上一個(gè)保險(xiǎn)電阻斷了(在主板上標(biāo)記為Fn的東西),換上一個(gè)1歐姆/0.5瓦的電阻即可。四、自檢過程中斷在xxxKCache處這表示主板上Cache損壞,可以在CMOS設(shè)置中將“ExternalCache”項(xiàng)設(shè)為“Disable”故障即可排除。同理,在自檢主板部件時(shí)出現(xiàn)中斷,則可以認(rèn)為該部件損壞,解決方法一般可以在CMOS中將其屏蔽,如果不能屏蔽該部件最好更換主板。五、提示“FDDControllerFailure”BIOS不能與軟盤驅(qū)動(dòng)器交換信息;提示“HDDControllerFailure”,BIOS不能與硬盤驅(qū)動(dòng)器交換信息。應(yīng)檢查FDD(HDD)控制卡及電纜。六、提示“8042GateA20Error”8042芯片壞;提示“DMAError”,DMA控制器壞。這種故障需要更換。七、提示“DisplaySwitchNotProper”主板上的顯示模式跳線設(shè)置錯(cuò)誤,重新跳線。八、提示“KeyboardisLock...Unlockit”鍵盤被鎖住,打開鎖后重新引導(dǎo)系統(tǒng)。九、IDE接口設(shè)備檢測(cè)信息為:“DetectingPrimary(或Secondary)Master(或Slave)...None”表示該IDE接口都沒有找到硬盤,如果該IDE口確實(shí)接有硬盤的話,則說明硬盤沒接上或硬盤有故障,可以從以下幾方面檢查:1、硬盤電源線和數(shù)據(jù)線是否接觸不良,或換一根線試試;2、CMOS設(shè)置有無錯(cuò)誤,進(jìn)入CMOS將“PrimaryMaster”、“PrimarySlave”、“SecondaryMaster”三項(xiàng)的的“TYPE”都設(shè)置成“Auto”;3、替換法確認(rèn)硬盤本身有故障。十、IDE接口設(shè)備檢測(cè)信息下面顯示“Floppydisk(s)fail(40)”出錯(cuò)信息表示CMOS所指定的軟盤驅(qū)動(dòng)器有問題。判斷和解決的方法與硬盤相似?,F(xiàn)象五:系統(tǒng)不能引導(dǎo)。這種故障一般都不是嚴(yán)重問題,只是系統(tǒng)在找到的用于引導(dǎo)的驅(qū)動(dòng)器中找不到引導(dǎo)文件,比如:BIOS的引導(dǎo)驅(qū)動(dòng)器設(shè)置中將軟驅(qū)排在了硬盤驅(qū)動(dòng)的前面,而軟驅(qū)中又放有沒有引導(dǎo)系統(tǒng)的軟盤或者BIOS的引導(dǎo)驅(qū)動(dòng)器設(shè)置中將光驅(qū)排在了硬盤驅(qū)動(dòng)的前面,而光驅(qū)中又放有沒有引導(dǎo)系統(tǒng)的光盤,這個(gè)都很簡單,將光盤或軟盤取出就可以了,實(shí)際應(yīng)用中遇到“DiskBootFailure,InsertSystemDiskAndPressEnter”的提示,多數(shù)都是這個(gè)原因。如果是硬盤不能引導(dǎo)的話一般有兩種情況:一種是硬盤數(shù)據(jù)線沒有插好,另一種就是硬盤數(shù)據(jù)損壞。前者一般多會(huì)出現(xiàn)硬盤容量檢測(cè)不正確和引導(dǎo)時(shí)出現(xiàn)死機(jī)的現(xiàn)象;后者則是干脆找不到引導(dǎo)文件或提示文件損壞。前者只需重新連接好數(shù)據(jù)線即可;后者則需要用win98的啟動(dòng)軟盤或啟動(dòng)光盤啟動(dòng),根據(jù)實(shí)際情況來定:一、提示“Invalidpartitiontable”或“NotFoundany[activepartition]inHDDDiskBootFailure,InsertSystemDiskAndPressEnter”,這說明找不到硬盤活動(dòng)分區(qū),需要對(duì)硬盤重新分區(qū)。二、提示“Missoperationsyste”,說明硬盤活動(dòng)分區(qū)需要重新格式化(formatc:/s)。三、提示“InvalidsystemdiskReplacethedisk,andthenpressanykey”或顯示“StartingWindows98…”時(shí)出現(xiàn)死機(jī),說明硬盤上的系統(tǒng)文件丟失了或損壞,使用“sysc:”,命令傳遞系統(tǒng)文件給c盤,再將C拷貝給c盤。現(xiàn)象六:硬盤可以引導(dǎo),但Windows不能正常啟動(dòng),也不能進(jìn)入安全模式。這種情況表明Windows98出現(xiàn)了嚴(yán)重的錯(cuò)誤,首先,用殺毒軟件查殺病毒,看是不是病毒造成的,如果沒有發(fā)現(xiàn)病毒可以用以下方法試一試。一、直接將接口卡與各個(gè)外設(shè)都撥去,再插回去,并調(diào)整接口卡上的設(shè)置(如果可以的話)來檢查是否是硬件沖突造成,開機(jī)看看是否可正常進(jìn)入Windows。二、檢查CMOS中的設(shè)置是否有不正確的地方,若不清楚,可選擇LoadBiosDefault項(xiàng)目,然后重開機(jī),開機(jī)看是否可正常進(jìn)入Windows。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鐵路運(yùn)輸安全管理師資格考試試卷及答案
- 2025年影視剪輯與后期制作實(shí)踐考試卷及答案
- 2025年網(wǎng)頁設(shè)計(jì)與制作考試試題及答案
- 2025年廣告設(shè)計(jì)與創(chuàng)意基礎(chǔ)考試試卷及答案
- 2025年文化產(chǎn)業(yè)管理專業(yè)入學(xué)考試試題及答案
- 新能源汽車高性能電機(jī)控制器研發(fā)與生產(chǎn)合作協(xié)議
- 高層建筑工程測(cè)量與抗震評(píng)估協(xié)議
- 直播平臺(tái)主播IP授權(quán)合作協(xié)議
- 氫能源技術(shù)員項(xiàng)目績效評(píng)估合同
- 多語種同傳翻譯術(shù)語庫與技術(shù)解決方案租賃合同
- 光影中國學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 工科中的設(shè)計(jì)思維學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2020年全國II卷英語高考真題試題(答案+解析)
- 腦洞大開背后的創(chuàng)新思維學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 科傻平差軟件說明指導(dǎo)書
- ipo上市商業(yè)計(jì)劃書
- 山東省青島市市北區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期英語期末考試試題
- 《養(yǎng)老護(hù)理員》-課件:老年人安全防范及相關(guān)知識(shí)
- 小兒肺炎診治考核試題及答案
- 五年級(jí)信息技術(shù)第13課畫城堡課件
- 林場(chǎng)儲(chǔ)備林建設(shè)項(xiàng)目施工布署及平面布置
評(píng)論
0/150
提交評(píng)論