[英]Variable values for sqlite3 table Python string formatter arguments
我正在尝试运行我找到的这个片段,但未定义group
和food
的变量。
group_food = (group, food)
group_food_new = (group, food, 1)
with con:
cur = con.cursor()
tmp = cur.execute("SELECT COUNT(Name) FROM (?) WHERE Name=?", group_food)
if tmp == 0:
cur.execute("INSERT INTO ? VALUES(?, ?)", group_food_new)
else:
times_before = cur.execute("SELECT Times FROM ? WHERE Name=?", group_food)
group_food_update = (group, (times_before +1), food)
cur.execute("UPDATE ? SET Times=? WHERE Name=?", group_food_update)
哪些示例变量可以使此代码段起作用?
这是我正在尝试做的事情:
#!/usr/bin/python3
import os, sqlite3
print("Store certbot expiries in DB...")
File = os.path.realpath(__file__)
database_path = File.replace(".py", ".db")
connection = sqlite3.connect(database_path)
cursor = connection.cursor()
# Check if table exists
# https://pythonexamples.org/python-sqlite3-check-if-table-exists/#2
# c.execute(''' SELECT count(name) FROM sqlite_master WHERE type='table' AND name='students1' ''')
table_name = "certificates"
t = (table_name,)
cursor.execute(''' SELECT count(name) FROM sqlite_master WHERE type='table' AND name='{}' '''.format(table_name))
domain = "operation420.net"
# https://www.sqlitetutorial.net/sqlite-create-table/
if not cursor.fetchone()[0] == 1 :
print('Table "{}" does not exist, creating...'.format(table_name))
#t = (table_name,)
sql_string = "CREATE TABLE '{}' (domain name, expiry)".format(table_name)
print(sql_string)
#cursor.execute(sql_string, t)
cursor.execute(sql_string)
else:
pass
#cmd = input("Command?> ")
cmd = 'n' #################
table_name = "certificates"
new = ['n', "N", 'new', "NEW", "New", "nEW"]
new.extend([ 'create' ])
if cmd.upper() in new:
#### 04 Aug 20
year = input("Year?> ")
month_str = input("Month?> ")
month_str = "{}".format(month_str).upper()
if month_str == '1': month_str = '01'
if month_str == '2': month_str = '02'
if month_str == '3': month_str = '03'
if month_str == '4': month_str = '04'
if month_str == '5': month_str = '05'
if month_str == '6': month_str = '06'
if month_str == '7': month_str = '07'
if month_str == '8': month_str = '08'
if month_str == '9': month_str = '09'
month = None
Jan = [ "01", "JAN", ]
Jan.extend([ "JANUARY" ])
if month_str.upper() in Jan: month = "01"
Feb = [ "02", "FEB", "FE" ]
Feb.extend([ "F", "february".upper() ])
if month_str.upper() in Feb: month = '02'
Mar = [ '03', 'MAR' ]
Mar.extend([ 'MARCH', "MR"])
if month_str.upper() in Mar: month = '03'
Apr = [ '04', 'APR' ]
Apr.extend([ "APRIL", "A", 'AP'])
if month_str.upper() in Apr: month = '04'
May = [ '05', 'MAY' ]
May.extend([ "MAY", "MY" ])
if month_str.upper() in May: month = '05'
Jun = [ '06', 'JUN' ]
Jun.extend([ 'JUNE', "JN", "JE" ])
if month_str.upper() in Jun: month = '06'
Jul = [ '07', 'JUL' ]
Jul.extend([ 'JULY', "JL" ])
if month_str.upper() in Jul: month = '07'
Aug = [ '08', 'AUG' ]
Aug.extend([ "AUGUST", 'AG' ])
if month_str.upper() in Aug: month = '08'
Sep = [ '09', 'SEP', "SEPT", "S" ]
Sep.extend([ 'SEPTEMBER', "SE", "SPT" ])
if month_str.upper() in Sep: month = '09'
Oct = [ '10', 'OCT', 'OC' ]
Oct.extend([ 'OCTOBER', "O", "OT" ])
if month_str.upper() in Oct: month = '10'
Nov = [ '11', 'NOV', 'NV' ]
Nov.extend([ 'NOVEMBER', 'NO', "N" ])
if month_str.upper() in Nov: month = '11'
Dec = [ '12', 'DEC' ]
Dec.extend([ 'DECEMBER', "D", "DC" ])
if month_str.upper() in Dec: month = '12'
##
day = input("Day?> ")
if day == '1': day = '01'
if day == '2': day = '02'
if day == '3': day = '03'
if day == '4': day = '04'
if day == '5': day = '05'
if day == '6': day = '06'
if day == '7': day = '07'
if day == '8': day = '08'
if day == '9': day = '09'
##
expiry = "{}-{}-{}".format(year, month, day)
print("Domain {} expires on {}".format(domain, expiry))
command = 'INSERT INTO "{}" VALUES("{}","{}")'.format(table_name,domain,expiry)
# Don't think command is the right term but Whatever...
print(command)
cursor.execute(command)
# End
#!/usr/bin/python3
import os, sqlite3
print("Store certbot expiries in DB...")
File = os.path.realpath(__file__)
database_path = File.replace(".py", ".db")
connection = sqlite3.connect(database_path)
cursor = connection.cursor()
# Check if table exists
# https://pythonexamples.org/python-sqlite3-check-if-table-exists/#2
# c.execute(''' SELECT count(name) FROM sqlite_master WHERE type='table' AND name='students1' ''')
# https://stackoverflow.com/questions/25387537/inserting-a-table-name-into-a-query-gives-sqlite3-operationalerror-near-sy
table_name = "certificates"
t = (table_name,)
cursor.execute(''' SELECT count(name) FROM sqlite_master WHERE type='table' AND name='{}' '''.format(table_name))
# https://www.sqlitetutorial.net/sqlite-create-table/
if not cursor.fetchone()[0] == 1 :
print('Table "{}" does not exist, creating...'.format(table_name))
#t = (table_name,)
sql_string = "CREATE TABLE '{}' (domain name, expiry)".format(table_name)
print(sql_string)
#cursor.execute(sql_string, t)
cursor.execute(sql_string)
else:
pass
#cmd = input("Command?> ")
cmd = 'ls' #################
lst = ["LS", "SHOW" ]
if cmd.upper() in lst:
pass
new = ['n', "N", 'new', "NEW", "New", "nEW"]
new.extend([ 'create' ])
if cmd.upper() in new:
#### 04 Aug 20
domain = input("Domain?> ")
year = input("Year?> ")
month_str = input("Month?> ")
month_str = "{}".format(month_str).upper()
if month_str == '1': month_str = '01'
if month_str == '2': month_str = '02'
if month_str == '3': month_str = '03'
if month_str == '4': month_str = '04'
if month_str == '5': month_str = '05'
if month_str == '6': month_str = '06'
if month_str == '7': month_str = '07'
if month_str == '8': month_str = '08'
if month_str == '9': month_str = '09'
month = None
Jan = [ "01", "JAN", ]
Jan.extend([ "JANUARY" ])
if month_str.upper() in Jan: month = "01"
Feb = [ "02", "FEB", "FE" ]
Feb.extend([ "F", "february".upper() ])
if month_str.upper() in Feb: month = '02'
Mar = [ '03', 'MAR' ]
Mar.extend([ 'MARCH', "MR"])
if month_str.upper() in Mar: month = '03'
Apr = [ '04', 'APR' ]
Apr.extend([ "APRIL", "A", 'AP'])
if month_str.upper() in Apr: month = '04'
May = [ '05', 'MAY' ]
May.extend([ "MAY", "M", "MA" ])
if month_str.upper() in May: month = '05'
Jun = [ '06', 'JUN' ]
Jun.extend([ 'JUNE', "JN", "JE" ])
if month_str.upper() in Jun: month = '06'
Jul = [ '07', 'JUL' ]
Jul.extend([ 'JULY', "JL" ])
if month_str.upper() in Jul: month = '07'
Aug = [ '08', 'AUG' ]
Aug.extend([ "AUGUST", 'AG' ])
if month_str.upper() in Aug: month = '08'
Sep = [ '09', 'SEP', "SEPT", "S" ]
Sep.extend([ 'SEPTEMBER', "SE", "SPT" ])
if month_str.upper() in Sep: month = '09'
Oct = [ '10', 'OCT', 'OC' ]
Oct.extend([ 'OCTOBER', "O", "OT" ])
if month_str.upper() in Oct: month = '10'
Nov = [ '11', 'NOV', 'NV' ]
Nov.extend([ 'NOVEMBER', 'NO', "N" ])
if month_str.upper() in Nov: month = '11'
Dec = [ '12', 'DEC' ]
Dec.extend([ 'DECEMBER', "D", "DC" ])
if month_str.upper() in Dec: month = '12'
##
day = input("Day?> ")
if day == '1': day = '01'
if day == '2': day = '02'
if day == '3': day = '03'
if day == '4': day = '04'
if day == '5': day = '05'
if day == '6': day = '06'
if day == '7': day = '07'
if day == '8': day = '08'
if day == '9': day = '09'
##
expiry = "{}-{}-{}".format(year, month, day)
print("Domain {} expires on {}".format(domain, expiry))
command = 'INSERT INTO "{}" VALUES("{}","{}")'.format(table_name,domain,expiry)
# Don't think command is the right term but Whatever...
print(command)
cursor.execute(command)
connection.commit()
# End
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.