锁屏示例

好的,如果您希望将名单存放在表格中,您可以使用pandas库来读取表格数据并进行匹配。请确保您已经安装了pandas库。

首先,将名单存储在一个名为names.csv的CSV文件中,文件内容如下:

name
Alice
Bob
Charlie

然后,使用以下代码来读取CSV文件中的名单数据并进行匹配:

import tkinter as tk
import time
import subprocess
import pandas as pd

# 读取名单数据
df = pd.read_csv("names.csv")

def check_name():
    name = entry.get().strip()
    if name in df["name"].values:
        # 用户名与名单内的名字相符,进入桌面
        root.destroy()
        # 在这里编写您希望在进入桌面时自动执行的命令和操作
        # 记录当前操作和时间
        with open("log.txt", "a") as log_file:
            log_file.write(f"{time.strftime('%Y-%m-%d %H:%M:%S')} - 用户 {name} 登录桌面\n")
    else:
        # 用户名与名单内的名字不符,进行倒计时10秒后关机
        root.destroy()
        # 记录不符合操作和时间
        with open("log.txt", "a") as log_file:
            log_file.write(f"{time.strftime('%Y-%m-%d %H:%M:%S')} - 用户输入的姓名不符合\n")
        # 关机命令
        subprocess.call(["shutdown", "-s", "-t", "10"])

# 创建窗口
root = tk.Tk()
root.title("输入姓名")
root.geometry("300x150")

# 创建标签和输入框
label = tk.Label(root, text="请输入您的姓名:")
label.pack(pady=20)
entry = tk.Entry(root)
entry.pack(pady=10)

# 创建按钮
button = tk.Button(root, text="确定", command=check_name)
button.pack(pady=10)

# 运行窗口
root.mainloop()

在这个示例脚本中,我们使用了pandas库来读取名单数据,并将名单数据存储在一个DataFrame对象中。然后,我们在check_name函数中使用df["name"].values来获取名单内的所有名字,并进行匹配。

请确保脚本所在的文件夹中有一个名为names.csv的CSV文件,用于存储名单数据。

同样地,脚本会根据输入的姓名进行判断,并执行相应的操作。如果输入的姓名与名单内的名字相符,脚本会关闭窗口,并在关闭窗口后执行进入桌面的操作,同时将当前操作记录到名为log.txt的日志文件中。如果输入的姓名与名单内的名字不符,脚本会关闭窗口,并在关闭窗口后进行倒计时10秒后关机的操作,同时将不符合操作记录到日志文件中。

阅读剩余
THE END