python - 根据输入命名数据库
问题描述
我确定这要么是不可能的,要么真的很容易,但我无法弄清楚。我正在尝试根据输入命名数据库。快速总结一下:
import sqlite3
import time
import datetime
global date
d = datetime.datetime.today()
month = str(d.month)
day = str(d.day)
year = str(d.year)
date = month+day+year
print(type(date))
def name_creation():
while True:
global name
name = input("What is the name? ")
answer = input("Is the name correct?(y/n)")
if answer not in ('y', 'n'):
print ("Invalid input")
name_creation()
break
if answer == 'y':
break
if answer == 'n':
print ("Okay, re-enter name.")
global name_date
name_date = name + " " + date
name_creation()
conn = sqlite3.connect (eval(name_date).db)
其中大部分并不重要,但我已经尝试解决这个问题大约 2 周。我确定我会以错误的方式解决这一切,但我找不到问题,所以我可以解决它。
解决方案
您需要从函数中定义 name_date 以将其用作全局。
import sqlite3
import time
import datetime
name_date=''
.
.
.
.
def name_creation():
.
.
global name_date
name_date="type_your_text_here"
conn = sqlite3.connect (eval(name_date).db)
或者你可以让它返回那个 name_date,然后用它来创建一个 conn。
并尝试像这样命名一个数据库:
conn=sqlite3.connect(name_date + ".db")
推荐阅读
- http-headers - 相当于 openvpn 上的 http-proxy-option 自定义标头
- android - 在不使用 StartActivity 的情况下在选择的 Uri 上打开 Stream
- c# - 将元素匹配到最接近的序列号并执行逻辑
- sql - XML 粉碎动态 SQL
- react-native - React Native Flatlist 官方文档未渲染
- python - 如何在 Azure Linux Web App 上运行的 Flask 中获取客户端 IP 地址?
- hadoop - 创建具有 serde 格式和额外列的外部表 - HIVE
- python-3.x - 如何在 keras 模型上添加池化层?
- c# - 包括用户控件 WPF 子元素内的触发器
- phpmyadmin - 是否可以增加 phpmyadmin textarea 中的字体大小?