我想将mysql-connect的参数存储在一个文本文件中,但不知道将它们存储在"query.txt“中最优雅的方式是什么。readline()命令似乎是一个选项,但不知何故使它变得非常不优雅。有没有人能建议一个顺利的解决方案?谢谢!
open("query.txt")
??? read parameters host, user, pass, db from query.txt ???
???sql = MySQLdb.connect (host = "%s", user = "%s", passwd = "%s", db = "s%"), host, user, pass, db)这句话也让我头疼。我还没有想出如何正确地进行这个查询...
发布于 2011-05-10 06:08:41
对你来说,使用序列化会更好更方便:
import cPickle
with open('pickler file.pic','w') as f:
host, user, passw, db = 'bouloudou','bididi',198754,'the_db'
cPickle.dump([host, user, passw, db],f)
with open('pickler file.pic','r') as f:
host, user, passw, db = cPickle.load(f)发布于 2011-05-10 06:13:20
假设“query.txt”包含:
hostname username password db 您可以执行以下操作:
host, user, pass, db = open('query.txt').read().split()
sql = MySQLdb.connect (host = "%s", user = "%s", passwd = "%s", db = "s%"), host, user, pass, db)发布于 2011-05-10 06:25:39
如果您想要一个格式良好且易于阅读的文本文件,可以使用JSON:
# Query parameters class
class QueryParams:
def __init__(self, paramsDict):
self.__dict__.update(paramsDict)
# Read text file
q = json.load(open('query.txt'), object_hook = lambda dc: QueryParams(dc))
# Use params
sql = MySQLdb.connect (host = "%s", user = "%s", passwd = "%s", db = "s%"), q.host, q.user, q.pass, q.db)https://stackoverflow.com/questions/5942959
复制相似问题