自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開發(fā) 前端
最近,我的好哥們給我提了一個新的需求,讓我用Python編程語言和MySQL數(shù)據(jù)庫創(chuàng)建一個簡單的身份證號碼查詢工具。這個工具可以掃描指定文件夾中的文件名,并將它們存儲到MySQL數(shù)據(jù)庫中。

最近,我的好哥們給我提了一個新的需求,讓我用Python編程語言和MySQL數(shù)據(jù)庫創(chuàng)建一個簡單的身份證號碼查詢工具。這個工具可以掃描指定文件夾中的文件名,并將它們存儲到MySQL數(shù)據(jù)庫中。用戶只需輸入身份證號碼,就可以查詢文件名中是否包含這個身份證號碼。

其中,界面部分我決定使用PyWebIO,PyWebIO提供了一系列命令式的交互函數(shù)來在瀏覽器上獲取用戶輸入和進行輸出,將瀏覽器變成了一個“富文本終端”,可以用于構(gòu)建簡單的Web應用或基于瀏覽器的GUI應用。PyWebIO還可以方便地整合進現(xiàn)有的Web服務,不需要編寫HTML和JS代碼,就可以構(gòu)建出具有良好可用性的應用。

準備工作

首先,確保你已經(jīng)安裝了必要的 Python 庫。你可以使用以下命令安裝它們:

pip install pymysql pywebio

接下來,我們需要一個 MySQL 數(shù)據(jù)庫來存儲文件名。在這里,我們將數(shù)據(jù)庫配置信息存儲在一個 JSON 文件中,以方便管理和更新。

import json


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

數(shù)據(jù)庫操作

我們將使用 PyMySQL 庫來連接 MySQL 數(shù)據(jù)庫,創(chuàng)建一個表來存儲文件名,并實現(xiàn)插入和查詢操作。

def create_table(connection):
    # 創(chuàng)建數(shù)據(jù)庫表
    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):
    # 插入文件名到數(shù)據(jù)庫表
    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):
    # 從數(shù)據(jù)庫中獲取所有文件名
    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 []

文件夾掃描和數(shù)據(jù)存儲

接下來,我們將使用 Python 的 os 模塊掃描文件夾中的文件,并將文件名插入到數(shù)據(jù)庫中。

import os


def scan_folder_and_insert(connection):
    # 掃描文件夾并將文件名插入數(shù)據(jù)庫
    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 界面

現(xiàn)在,我們將使用 PyWebIO 創(chuàng)建一個簡單的 Web 界面,允許用戶輸入身份證號碼并查詢數(shù)據(jù)庫。

from pywebio import start_server
from pywebio.input import input, TEXT
from pywebio.output import put_text, put_table


def 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數(shù)據(jù)庫
    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}")

打包為可執(zhí)行文件

最后,我們可以使用 PyInstaller 工具將 Python 腳本打包為可執(zhí)行文件。打開命令行終端,執(zhí)行以下命令:

pyinstaller -F -w your_script_name.py

請將 your_script_name.py 替換為你的 Python 腳本文件名。執(zhí)行完畢后,你將在 dist 文件夾中找到生成的可執(zhí)行文件。

在游覽器中運行效果如下

圖片

通過這個簡單的工具,用戶可以輕松地查詢文件名中是否包含特定身份證號碼。當然,這只是一個靈活的基礎,可以根據(jù)需要繼續(xù)擴展和定制功能。

責任編輯:華軒 來源: 口袋大數(shù)據(jù)
相關推薦

2020-11-10 10:16:38

Java身份證號碼編程語言

2018-03-23 09:00:42

JavaScript正則表達式身份證號碼

2010-09-09 10:10:29

SQL函數(shù)轉(zhuǎn)換

2019-12-06 09:44:34

火車票照片身份證

2023-04-11 22:03:36

2024-09-04 14:08:55

2013-12-25 09:38:26

移動4G版iPhone預定

2015-04-22 16:06:23

社保信息泄漏

2015-11-10 18:03:50

2014-12-26 14:24:54

2018-01-04 11:28:23

2010-09-03 14:40:52

2017-01-12 16:54:04

信息泄露網(wǎng)絡安全房產(chǎn)商

2010-03-22 16:04:06

2020-04-22 09:56:00

信息安全大數(shù)據(jù)技術(shù)

2012-12-11 14:50:00

2020-02-05 15:29:56

計算機網(wǎng)絡設備

2025-04-24 10:45:27

Python格式校驗工具函數(shù)函數(shù)

2010-09-26 17:14:23

SQL查詢

2009-06-12 11:34:01

點贊
收藏

51CTO技術(shù)棧公眾號