Я хочу синхронизировать мой ввод в одном файле с переменными в другом файле. Где я должен поместить свой оператор return в функцию login, чтобы импортировать переменные в другой файл и синхронизировать там?
Я попытался поместить возвращаемое имя пользователя и пароль в функцию входа в систему и импортировать эту функцию входа в другой файл и получить переменные
class main:
def __init__(self, master):
# Window
self.master = master
# Some Usefull variables
self.username = StringVar()
self.password = StringVar()
self.n_username = StringVar()
self.n_password = StringVar()
# Create Widgets
self.widgets()
# Login Function
def login(self):
# Establish Connection
with sqlite3.connect('quitq.db') as db:
c = db.cursor()
return self.username, self.password ### this one I added to try to send other file
# Find user If there is any take proper action
find_user = ('SELECT * FROM user WHERE username = ? and password = ?')
c.execute(find_user, [(self.username.get()), (self.password.get())])
result = c.fetchall()
if result:
self.logf.pack_forget()
self.head['text'] = self.username.get() + '\n Loged In'
self.head['pady'] = 150
top1.deiconify()
else:
ms.showerror('Oops!', 'Username Not Found.')
Это основной файл, в котором я пытался использовать оператор return для использования в следующем коде:
import datetime
import email
import imaplib
import menu
username, password = menu.main.login()
a = username
b = password
EMAIL_ACCOUNT = a
PASSWORD = b
Я получаю эту ошибку:
Traceback (most recent call last):
File "C:code/menu.py", line 4, in <module>
import email_client
File "C:\code\email_client.py", line 4, in <module>
import menu
File "C:\code\menu.py", line 285, in <module>
email_from, email_to, local_message_date, subject, body = email_client.get_email()
AttributeError: module 'email_client' has no attribute 'get_email'