日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Python的小應用--使用PyWebIO和PyMySQL創建身份證號碼查詢工具

來源: 責編: 時間:2023-11-14 17:09:37 286觀看
導讀最近,我的好哥們給我提了一個新的需求,讓我用Python編程語言和MySQL數據庫創建一個簡單的身份證號碼查詢工具。這個工具可以掃描指定文件夾中的文件名,并將它們存儲到MySQL數據庫中。用戶只需輸入身份證號碼,就可以查詢文

最近,我的好哥們給我提了一個新的需求,讓我用Python編程語言和MySQL數據庫創建一個簡單的身份證號碼查詢工具。這個工具可以掃描指定文件夾中的文件名,并將它們存儲到MySQL數據庫中。用戶只需輸入身份證號碼,就可以查詢文件名中是否包含這個身份證號碼。65428資訊網——每日最新資訊28at.com

65428資訊網——每日最新資訊28at.com

其中,界面部分我決定使用PyWebIO,PyWebIO提供了一系列命令式的交互函數來在瀏覽器上獲取用戶輸入和進行輸出,將瀏覽器變成了一個“富文本終端”,可以用于構建簡單的Web應用或基于瀏覽器的GUI應用。PyWebIO還可以方便地整合進現有的Web服務,不需要編寫HTML和JS代碼,就可以構建出具有良好可用性的應用。65428資訊網——每日最新資訊28at.com

準備工作

首先,確保你已經安裝了必要的 Python 庫。你可以使用以下命令安裝它們:65428資訊網——每日最新資訊28at.com

pip install pymysql pywebio

接下來,我們需要一個 MySQL 數據庫來存儲文件名。在這里,我們將數據庫配置信息存儲在一個 JSON 文件中,以方便管理和更新。65428資訊網——每日最新資訊28at.com

import jsonwith open(r"path/to/your/config.json", 'r', encoding='utf-8') as f:    db_config = json.loads(f.read())

數據庫操作

我們將使用 PyMySQL 庫來連接 MySQL 數據庫,創建一個表來存儲文件名,并實現插入和查詢操作。65428資訊網——每日最新資訊28at.com

def create_table(connection):    # 創建數據庫表    create_table_query = """    CREATE TABLE IF NOT EXISTS files (        id INT AUTO_INCREMENT PRIMARY KEY,        file_name VARCHAR(255) NOT NULL UNIQUE    )    """    try:        with connection.cursor() as cursor:            cursor.execute(create_table_query)        connection.commit()    except Error as e:        print(f"Error: {e}")def insert_filename(connection, filename):    # 插入文件名到數據庫表    insert_query = "INSERT INTO files (file_name) VALUES (%s)"    try:        with connection.cursor() as cursor:            cursor.execute(insert_query, (filename,))        connection.commit()    except Error as e:        print(f"Error: {e}")def get_filenames_from_db(connection):    # 從數據庫中獲取所有文件名    select_query = "SELECT file_name FROM files"    try:        with connection.cursor() as cursor:            cursor.execute(select_query)            result = cursor.fetchall()            return [row[0] for row in result]    except Error as e:        print(f"Error: {e}")        return []

文件夾掃描和數據存儲

接下來,我們將使用 Python 的 os 模塊掃描文件夾中的文件,并將文件名插入到數據庫中。65428資訊網——每日最新資訊28at.com

import osdef scan_folder_and_insert(connection):    # 掃描文件夾并將文件名插入數據庫    folder_path = r'C:/path/to/your/folder'    for filename in os.listdir(folder_path):        if os.path.isfile(os.path.join(folder_path, filename)):            insert_filename(connection, filename)

PyWebIO Web 界面

現在,我們將使用 PyWebIO 創建一個簡單的 Web 界面,允許用戶輸入身份證號碼并查詢數據庫。65428資訊網——每日最新資訊28at.com

from pywebio import start_serverfrom pywebio.input import input, TEXTfrom pywebio.output import put_text, put_tabledef search_file_by_id(connection):    id_number = input("請輸入身份證號碼:", type=TEXT)    filenames = get_filenames_from_db(connection)    results = [filename for filename in filenames if id_number in filename]    if results:        put_table([(result,) for result in results], header=['文件名'])    else:        put_text("沒有找到包含身份證號碼的文件名。")if __name__ == "__main__":    # 連接到MySQL數據庫    try:        with connect(**db_config) as connection:            create_table(connection)            scan_folder_and_insert(connection)            # 啟動Web界面            start_server(search_file_by_id, port=80)    except Error as e:        print(f"Error: {e}")

打包為可執行文件

最后,我們可以使用 PyInstaller 工具將 Python 腳本打包為可執行文件。打開命令行終端,執行以下命令:65428資訊網——每日最新資訊28at.com

pyinstaller -F -w your_script_name.py

請將 your_script_name.py 替換為你的 Python 腳本文件名。執行完畢后,你將在 dist 文件夾中找到生成的可執行文件。65428資訊網——每日最新資訊28at.com

在游覽器中運行效果如下65428資訊網——每日最新資訊28at.com

圖片65428資訊網——每日最新資訊28at.com

通過這個簡單的工具,用戶可以輕松地查詢文件名中是否包含特定身份證號碼。當然,這只是一個靈活的基礎,可以根據需要繼續擴展和定制功能。65428資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-24740-0.htmlPython的小應用--使用PyWebIO和PyMySQL創建身份證號碼查詢工具

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 蘋果揮刀斬殺“搖一搖”

下一篇: Git 的遴選和撤銷操作是如何利用三路合并的

標簽:
  • 熱門焦點
  • Find N3入網:最高支持16+1TB

    OPPO將于近期登場的Find N3折疊屏目前已經正式入網,型號為PHN110。本次Find N3在外觀方面相比前兩代有很大的變化,不再是小號的橫向折疊屏,而是跟別的廠商一樣采用了較為常見的
  • 線程通訊的三種方法!通俗易懂

    線程通信是指多個線程之間通過某種機制進行協調和交互,例如,線程等待和通知機制就是線程通訊的主要手段之一。 在 Java 中,線程等待和通知的實現手段有以下幾種方式:Object 類下
  • 2023年,我眼中的字節跳動

    此時此刻(2023年7月),字節跳動從未上市,也從未公布過任何官方的上市計劃;但是這并不妨礙它成為中國最受關注的互聯網公司之一。從2016-17年的抖音強勢崛起,到2018年的“頭騰
  • Temu起訴SHEIN,跨境電商戰事升級

    來源 | 伯虎財經(bohuFN)作者 | 陳平安日前據外媒報道,拼多多旗下跨境電商平臺Temu正對競爭對手SHEIN提起新訴訟,訴狀稱Shein“利用市場支配力量強迫服裝廠商與之簽訂獨家
  • 小米MIX Fold 3下月亮相:今年唯一無短板的全能折疊屏

    這段時間以來,包括三星、一加、榮耀等等有不少品牌旗下的最新折疊屏旗艦都有新的進展,其中榮耀、三星都已陸續發布了最新的折疊屏旗艦,尤其號榮耀Magi
  • 華為將推出盤古數字人大模型 可幫助用戶12小時完成數字人生成

    在今日舉行的2023年華為云數字文娛AI創新峰會上,華為云全球Marketing與銷售服務總裁石冀琳表示,華為云將在后續推出盤古數字人大模型,可幫助用戶12小
  • iQOO 11S評測:行業唯一的200W標準版旗艦

    【Techweb評測】去年底,iQOO推出了“電競旗艦”iQOO 11系列,作為一款性能強機,該機不僅全球首發2K 144Hz E6全感屏,搭載了第二代驍龍8平臺及144Hz電競
  • 到手價3099元起!iQOO Neo8 Pro今日首銷:安卓性能最強旗艦

    5月23日,iQOO如期舉行了新品發布會,全新的iQOO Neo8系列也正式與大家見面,包含iQOO Neo8和iQOO Neo8 Pro兩個版本,其中標準版搭載高通驍龍8+,而Pro版更
  • 首發天璣9200+ iQOO Neo8系列發布首銷售價2299元起

    2023年5月23日晚,iQOO Neo8系列正式發布。其中,Neo系列首款Pro之作——iQOO Neo8 Pro強悍登場,限時售價3099元起;價位段最強性能手機iQOO Neo8同期上市
Top 主站蜘蛛池模板: 安溪县| 筠连县| 桦南县| 富锦市| 宁波市| 临桂县| 大港区| 高尔夫| 华阴市| 舞钢市| 遂川县| 九龙城区| 万宁市| 新密市| 裕民县| 都匀市| 盐城市| 普兰店市| 织金县| 枣强县| 宝丰县| 松江区| 崇阳县| 犍为县| 自贡市| 治多县| 南投市| 洛川县| 红安县| 新丰县| 许昌市| 故城县| 巴南区| 常宁市| 滁州市| 水城县| 社旗县| 洛隆县| 凌云县| 临江市| 井陉县|