国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Python的文件統(tǒng)計(jì)程序開發(fā)

2024-09-27 00:00:00張翔鹿玉紅薛韡
科技資訊 2024年16期

摘要:為解決考試過程中學(xué)生提交文件數(shù)量大、類型多、易出錯等問題,以《實(shí)用軟件應(yīng)用》課程考核為例,采用Python語言及第三方庫Pandas開發(fā)文件統(tǒng)計(jì)程序,按照需求分析、總體設(shè)和、模塊實(shí)現(xiàn),闡述開發(fā)流程,側(cè)重介紹交互設(shè)計(jì)及精確統(tǒng)計(jì)函數(shù)。該程序既可滿足日常作業(yè)統(tǒng)計(jì)需求,亦可滿足考試文件即時(shí)統(tǒng)計(jì)需求,有效提升了統(tǒng)計(jì)的效率和準(zhǔn)確性,且易于擴(kuò)展和移植,具有較好的應(yīng)用價(jià)值及推廣價(jià)值。

關(guān)鍵詞:Python程序開發(fā)文件統(tǒng)計(jì)模塊

DevelopmentofFileStatisticsProgramBasedonPython

ZHANGXiangLUYuhongXUEWei

InstituteofDisasterPrevention,Sanhe,HebeiProvince,065201China

Abstract:Inordertosolvetheproblemsoflargenumberoffiles,multipletypesanderror-proneintheexaminationprocess,thispapertakesthecourseassessmentofPracticalSoftwareApplicationasanexample,usesPythonlanguageandthethird-partylibraryPandastodevelopthefilestatisticsprogram.Thedevelopmentprocessisdescribedaccordingtotherequirementsanalysis,overalldesignandmodulerealization,withemphasisoninteractivedesignandtheaccuratestatisticalfunction.Theprogramcanmeetbothdailyhomeworkstatisticsneedsandreal-timestatisticsneedsforexamdocuments,effectivelyimprovingtheefficiencyandaccuracyofstatistics;anditiseasytoexpandandtransplant,withgoodapplicationvalueandpromotionvalue.

KeyWords:Python;Programmingdevelopment;Filestatistics;Module

隨著信息時(shí)代的飛速發(fā)展,高??荚囆问揭沧兊秘S富多樣。相較于傳統(tǒng)的紙質(zhì)文檔(包括試卷、報(bào)告、論文等),教師通常傾向于更加環(huán)保且安全可靠的電子文檔。如何在限定時(shí)間內(nèi)快捷和有效地統(tǒng)計(jì)電子文檔成為高??荚嚬芾砻媾R的新挑戰(zhàn)。

為滿足包括文檔在內(nèi)的更多類型文件的統(tǒng)計(jì)需求,本文以文件統(tǒng)計(jì)為核心目標(biāo),闡述其程序設(shè)計(jì)及實(shí)現(xiàn)過程。結(jié)合實(shí)際教學(xué)經(jīng)歷,以《實(shí)用軟件應(yīng)用》課程考核為例,展開說明。

1需求分析

1.1基本功能需求

  • 選擇存放學(xué)生答案的文件夾,每個學(xué)生對應(yīng)一個以學(xué)號和姓名命名的子文件夾。后續(xù)考慮子文件夾名稱不規(guī)范問題。
  • 通過多種方式查看學(xué)生提交文件情況,以滿足不同場景需求,側(cè)重考試過程中即時(shí)獲得統(tǒng)計(jì)數(shù)據(jù),以便提醒學(xué)生出現(xiàn)誤操作,亦可用于日常文件統(tǒng)計(jì)。
  • 要求學(xué)生提交.docx、.pptx和.xlsx三種類型文件。后續(xù)考慮文件有效性問題,如考試時(shí)提交文件的修改日期與考試日期不一致。
  • 訪問學(xué)生名單文檔,并將其導(dǎo)入程序。
  • 將統(tǒng)計(jì)結(jié)果導(dǎo)出,以excel文件形式保存。

1.2擴(kuò)展功能需求

  • 設(shè)定結(jié)束時(shí)間和時(shí)間間隔,自動刷新提交記錄。
  • 根據(jù)文件提交時(shí)間,判斷并記錄學(xué)生是否考試超時(shí)。
  • 教研相關(guān)的數(shù)據(jù)分析。

限于篇幅,本文僅介紹基本功能的實(shí)現(xiàn)過程。

1.3技術(shù)需求

操作系統(tǒng)為Windows10,開發(fā)語言為Python3,開發(fā)工具選擇官網(wǎng)免費(fèi)的PyCharmCommunityEdition2023.3.5即可。此外,pandas庫用于快速處理和分析數(shù)據(jù)集,通過pip工具安裝和管理;os庫提供訪問文件、管理文件路徑等函數(shù);datetime庫提供日期和時(shí)間處理函數(shù)。os庫和datetime庫皆為Python標(biāo)準(zhǔn)庫,無需安裝。在腳本中導(dǎo)入相關(guān)模塊,即可使用其中所有函數(shù)和方法。

鑒于人工智能在軟件開發(fā)領(lǐng)域的廣泛應(yīng)用,為縮短開發(fā)周期,借助百度AI助手中心提供的Python編程助手搭建基本功能函數(shù)框架,在此基礎(chǔ)上,補(bǔ)充細(xì)節(jié)代碼。程序整體架構(gòu)相對復(fù)雜,需人工決策完成。

2總體設(shè)計(jì)

為提高代碼復(fù)用率,秉持著模塊化的設(shè)計(jì)理念編寫程序。日常文件統(tǒng)計(jì)與考試文件統(tǒng)計(jì)的最大區(qū)別在于文件的時(shí)間效力。也就是說,日常統(tǒng)計(jì)文件時(shí),大多只考慮文件的名稱及類型,如林玫[1]和魏晨希[2]設(shè)計(jì)的作業(yè)統(tǒng)計(jì)程序,還有依據(jù)代碼文件特征檢測抄襲行為,如張峰等人[3]、曾杰等人[4-5]和劉飛翔等人[6]分別提出不同的檢測方法。統(tǒng)計(jì)考試文件時(shí),需要額外考慮文件的時(shí)間屬性,若文件的修改日期為考試日期,則是有效的答案文件,否則為無效的素材文件,鑒于此,可將時(shí)間作為參數(shù)傳遞給統(tǒng)計(jì)函數(shù),以實(shí)現(xiàn)相同函數(shù)在不同場景中的文件統(tǒng)計(jì)功能。

基于需求分析,程序功能模塊劃分如圖1所示。根據(jù)統(tǒng)計(jì)數(shù)據(jù)的粒度,統(tǒng)計(jì)函數(shù)分為粗略統(tǒng)計(jì)和精確統(tǒng)計(jì)。粗略統(tǒng)計(jì)以文件夾為分析對象,精確統(tǒng)計(jì)以文件夾及其下所有文件為分析對象,二者結(jié)合使用,讓統(tǒng)計(jì)工作實(shí)現(xiàn)粗中有細(xì),逐層細(xì)化。

考試過程中,學(xué)生提交文件的數(shù)量呈現(xiàn)遞增趨勢。初期文件較少時(shí),適宜統(tǒng)計(jì)提交文件的學(xué)生名單;后期文件較多時(shí),適宜統(tǒng)計(jì)未提交文件的學(xué)生名單。這樣有助于更快發(fā)現(xiàn)問題,如學(xué)生文件夾名稱不對、答案文件數(shù)量不對等。在粗略統(tǒng)計(jì)和精確統(tǒng)計(jì)中,針對這兩種情況都做了考慮。

自動刷新是為解決考試人數(shù)眾多或提交時(shí)間密集時(shí)手動操作效率低下問題而設(shè)計(jì)的,設(shè)定截止時(shí)間和刷新間隔兩個參數(shù),程序自動進(jìn)行統(tǒng)計(jì)工作。超時(shí)統(tǒng)計(jì)是考試結(jié)束后對全部答案文件的提交時(shí)間進(jìn)行超時(shí)判斷,顯示并保存統(tǒng)計(jì)結(jié)果。數(shù)據(jù)分析可根據(jù)課程教學(xué)改革需求選擇數(shù)據(jù)進(jìn)行具體分析,此處不再贅述。

3模塊實(shí)現(xiàn)

3.1操作界面

操作界面能夠反映用戶與程序的交互是否清晰合理,設(shè)計(jì)目標(biāo)為符合操作流程的同時(shí)盡量減少操作步驟。

首先,不同場景的功能需求不同,操作界面分為二級。其次,確定文件路徑和學(xué)生名單是統(tǒng)計(jì)的前提條件,為簡化操作步驟,學(xué)生名單與提交文件置于同一目錄下,在二級界面顯示前,僅需輸入文件路徑。最后,多種統(tǒng)計(jì)方法結(jié)合,滿足不同層次的統(tǒng)計(jì)需求。界面設(shè)計(jì)最終效果如圖2~4所示。并以2023年《實(shí)用軟件應(yīng)用》期末考試某考場數(shù)據(jù)為例進(jìn)行測試,見表1。

3.2粗略統(tǒng)計(jì)

粗略統(tǒng)計(jì)僅統(tǒng)計(jì)學(xué)生文件夾,不對下一級文件進(jìn)行檢查。該類型統(tǒng)計(jì)可以發(fā)現(xiàn)未提交學(xué)生名單及已提交文件夾的名稱錯誤(沒有包含學(xué)號或姓名關(guān)鍵信息),但無法確認(rèn)學(xué)生文件夾中答案文件是否齊備,甚至是否包含答案文件。

考慮到在當(dāng)前路徑下有33個一級子文件夾,在日常文件統(tǒng)計(jì)時(shí),查看未提交信息更為直觀。輸入“12”,顯示結(jié)果如圖5所示,可知有2名未提交學(xué)生,包括1名緩考學(xué)生和1名文件夾名稱不對的學(xué)生。

3.3精確統(tǒng)計(jì)

精確統(tǒng)計(jì)不僅統(tǒng)計(jì)學(xué)生文件夾,還對所有下級文件夾進(jìn)行遞歸檢查。在粗略統(tǒng)計(jì)的基礎(chǔ)上,判定學(xué)生文件夾中答案文件是否齊備,方便老師提醒學(xué)生提交缺失文件,彌補(bǔ)粗略統(tǒng)計(jì)漏洞。

圖6對粗略統(tǒng)計(jì)得到的31名學(xué)生文件夾進(jìn)一步分析,查看答案文件提交詳情,可知有2名學(xué)生各缺少1份答案文件。圖7顯示,由于考試場景考慮時(shí)間因素,因此,同一份數(shù)據(jù)日常統(tǒng)計(jì)和考試統(tǒng)計(jì)可能會得到不同的結(jié)果。精確統(tǒng)計(jì)函數(shù)關(guān)鍵代碼如圖8所示,利用參數(shù)choice_time區(qū)分日常文件統(tǒng)計(jì)與考試文件統(tǒng)計(jì)。

4結(jié)語

經(jīng)測試,該程序具有可讀性、健壯性和擴(kuò)展性,既可應(yīng)用于日常統(tǒng)計(jì)文件工作,亦可應(yīng)用于考試情景下即時(shí)統(tǒng)計(jì)文件工作。為提高可移植性,使用PyInstaller工具將其打包為.exe格式的可執(zhí)行文件,方便傳輸和終端執(zhí)行。

通過該文件統(tǒng)計(jì)程序,考務(wù)人員可以高效管理學(xué)生文件,更專注于監(jiān)控考場和處理突發(fā)情況。同時(shí),電子文件易于檢索、共享、存檔和備份,為考試數(shù)據(jù)的長期保存和協(xié)作管理提供了可靠保障。因此,高??荚囍胁捎梦募y(tǒng)計(jì)程序是必然趨勢,有助于提升考試管理的現(xiàn)代化水平。

參考文獻(xiàn)

[1]林玫.RCC平臺上作業(yè)統(tǒng)計(jì)的Python程序設(shè)計(jì)與實(shí)現(xiàn)[J].河北軟件職業(yè)技術(shù)學(xué)院學(xué)報(bào),2023,25(2):24-28.

[2]魏晨希.基于Python的作業(yè)統(tǒng)計(jì)程序設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2020(7):3-5,18.

[3]張峰,韋友良,秦玉成.基于程序流程圖和圖注意力網(wǎng)絡(luò)的跨語言代碼抄襲檢測方法[J/OL].小型微型計(jì)算機(jī)系統(tǒng),1-9[2024-04-21].

https://kns-cnki-net.webvpn.cidp.edu.cn/kcms/detail/21.1106.TP.20240206.1025.012.html.

  • 曾杰,賁可榮,張獻(xiàn),等.基于程序向量樹的代碼克隆檢測[J].計(jì)算機(jī)科學(xué)與探索,2020,14(10):1656-1669.
  • ZENGJ,BENKR,LIXW,etal.Fastcodeclonedetectionbasedonweightedrecursiveautoencoders[J].IEEEAccess,2019,7:125062-125078.
  • 劉飛翔,龍冬冬,歐幸茹,等.基于抽象語法樹的代碼抄襲檢測方法的改進(jìn)[J].吉首大學(xué)學(xué)報(bào)(自然科學(xué)版),2022,43(6):20-25.

将乐县| 靖江市| 兴国县| 利辛县| 连山| 平顶山市| 涿鹿县| 南木林县| 汶上县| 临潭县| 邮箱| 家居| 察雅县| 斗六市| 时尚| 裕民县| 阿克陶县| 长治县| 西丰县| 石嘴山市| 绿春县| 钟山县| 怀远县| 辽中县| 临西县| 商洛市| 含山县| 咸阳市| 建宁县| 邻水| 邢台市| 当阳市| 白水县| 宁晋县| 普兰县| 彰化市| 新巴尔虎右旗| 无极县| 通化市| 江城| 黄陵县|