Sqlite3在python中使用变量命名db文件

Sqlite3在python中使用变量命名db文件,python,database,python-3.x,sqlite,Python,Database,Python 3.x,Sqlite,如何使用当前日期命名db文件,以便在运行时创建一个以当前日期命名的db文件。这就是我到目前为止所做的: import sqlite3 import time timedbname = time.strftime("%d/%m/%Y") # Connecting to the database file conn = sqlite3.connect(???) 此错误与“%d/%m/%Y”中的“/”或“-”或“.”相同: 尝试使用: time.strftime(“%d-%m-%Y”) 我猜它

如何使用当前日期命名db文件,以便在运行时创建一个以当前日期命名的db文件。这就是我到目前为止所做的:

import sqlite3
import time


timedbname = time.strftime("%d/%m/%Y")

# Connecting to the database file
conn = sqlite3.connect(???)
此错误与“%d/%m/%Y”中的“/”或“-”或“.”相同:

尝试使用:

time.strftime(“%d-%m-%Y”)


我猜它不起作用,因为生成的日期中有斜杠。

表名中不能有破折号。而且它不能以数字开头

import sqlite3
from datetime import date

timedbname = '_' + str(date.today()).replace('-','_')

# Connecting to the database file
conn = sqlite3.connect(':memory:')
cursor = conn.cursor()

cursor.execute('''CREATE TABLE %s (col1 int, col2 int)''' % (timedbname))
cursor.execute('''INSERT INTO %s VALUES (1, 2)''' % (timedbname))
cursor.execute('''SELECT * FROM %s'''%timedbname).fetchall()
这起到了作用:

import sqlite3
import time


timedbname = time.strftime("_" + "%d.%m.%Y")
conn = sqlite3.connect(timedbname + '.db')

你试过使用字符串吗?我应该输入什么:conn=sqlite3.connect(这里?)我从来没有使用过sqlite3,但我想你可能需要在那里使用
conn=sqlite3.connect(timedbname)
。我查了一下sqlite3,如果它还不存在的话,它应该会创建数据库,所以你应该不会介意。我解决了它,你可以看看我的答案。谢谢大家的帮助
import sqlite3
import time


timedbname = time.strftime("_" + "%d.%m.%Y")
conn = sqlite3.connect(timedbname + '.db')