【发布时间】:2015-12-30 10:41:19
【问题描述】:
我目前正在尝试做一个登录系统,只是为了学习一些更高级的python脚本。
最初,我使用.txt 文件来保存所有信息,但结果变得混乱且不安全。
完成第一组脚本后,我决定尝试将信息保存到数据库文件中。我已经想出了如何从表中读取数据,但它周围有[(''),]。
这是一个问题,因为我需要使用原始数据与输入进行比较,而这无法通过其周围的符号来完成。
所以,我想知道是否可以将数据作为原始字符串读取,而不使用符号。我一直在主项目的单独文件中执行此操作。这是该文件的内容:
import sqlite3 as sql
con = sql.connect(r"E:\Users.db")
c = con.cursor()
con.row_factory = sql.Row
username = input("What is your username: ")
readdata = input("Select the message you wish to read: ")
c.execute("SELECT * FROM Mail WHERE (Subject LIKE '"+readdata+"') AND (Recipient LIKE '"+username+"')")
component = c.fetchall()
for row in component:
c.execute("SELECT Recipient FROM Mail WHERE (Subject LIKE '"+readdata+"') AND (Recipient LIKE '"+username+"')")
rc = list(c.fetchall())
rec = str(rc)
c.execute("SELECT Sender FROM Mail WHERE (Subject LIKE '"+readdata+"') AND (Recipient LIKE '"+username+"')")
snt = list(c.fetchall())
sent = str(snt)
c.execute("SELECT Subject FROM Mail WHERE (Subject LIKE '"+readdata+"') AND (Recipient LIKE '"+username+"')")
sbject = list(c.fetchall())
subject = str(sbject)
c.execute("SELECT Message FROM Mail WHERE (Subject LIKE '"+readdata+"') AND (Recipient LIKE '"+username+"')")
mg = list(c.fetchall())
msg = str(mg)
print()
print("Sender: " + sent)
print("Recipient: " + rec)
print("Subject: " + subject)
print()
print("Message: " + msg)
这是输出:
What is your username: James
Select the message you wish to read: LOL
Sender: [('Kieran',)]
Recipient: [('James',)]
Subject: [('LOL',)]
Message: [('Hey',)]
这是所有正确的数据,但我需要删除 [(''),] 才能进行比较。我正在使用 Python 3.4.2。
【问题讨论】:
标签: python database python-3.x sqlite