【发布时间】:2021-01-02 22:59:49
【问题描述】:
我正在为我的学校项目开发一个基本的酒店管理系统。我已经为一个按钮制作了这个提交功能来登录到经理。我需要从这个 python 文件 log_in.py 获取这个局部变量 username 到另一个 python 文件 dashboard.py .我该怎么做?
def submit():
username = str(username_entry.get()).strip()
password = str(password_entry.get()).strip()
username_exists = username in data.username.values
employee_id = pd.read_sql_query(f"SELECT employee_id FROM managers WHERE username = '{username}';", db)
employee_id = employee_id.employee_id.values[0]
if username_exists:
correct_password = pd.read_sql_query(f"SELECT password FROM managers WHERE username = '{username}';", db)
correct_password = correct_password.password.values[0]
password_matches = (password == correct_password)
if not username_exists: messagebox.showerror('Invalid Username', 'The entered username does not exist.')
elif not password_matches: messagebox.showerror('Invlaid Password', 'The entered password is wrong.')
else:
messagebox.showinfo('Log In Successful', 'You are now logged in.')
root.destroy()
os.system('python dashboard.py')
【问题讨论】:
-
您可以将
username作为命令行参数传递给dashboard.py:os.system(f"python dashboard.py {username}")。当然,您需要修改dashboard.py以使用sys.argv读取username。然而更好的解决方案是将dashboard.py的主块放在一个期望username作为参数的函数中,然后导入dashboard并运行这个函数而不是使用os.system()。 -
为什么要用
os.system()启动一个单独的Python进程?
标签: python tkinter local-variables