Форум сайта python.su
0
Привет всем, Как я могу вынести INSERT INTO за приделы функции enter(), но что бы While True продолжал работать, пока я не остановлю цикл, он должен продолжать посылать данные. Код работает, но я уверен что он написан не правильно.
import sqlite3 conn = sqlite3.connect('data.db') c = conn.cursor() def create_table(): c.execute(' CREATE TABLE IF NOT EXISTS test_table(' ' first_name TEXT NOT NULL,' ' second_name TEXT NOT NULL,' ' date TEXT NOT NULL)') date = raw_input("Enter date: ") def enter(): while True: f = raw_input("Enter name: ") e = raw_input("Enter second name: ") if len(f) == 0: break elif len(e) == 0: break else: def first_name(): a = f return a def second_name(): y = e return y f_name = first_name() s_name = second_name() c.execute("INSERT INTO test_table(first_name, " "second_name, date)VALUES(?, ?, ?)", (f_name, s_name, date)) conn.commit() create_table() enter() conn.close()
Офлайн
568
Вообще нифига не понятно!
Офлайн
61
вынесите в одельную функцию так же как и создание таблиц и дергайте в отдельном потоке ?
Хотя сомнетельный код всеравно и подход
Офлайн