首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文本文件读取查询参数

从文本文件读取查询参数
EN

Stack Overflow用户
提问于 2011-05-10 05:54:16
回答 4查看 682关注 0票数 0

我想将mysql-connect的参数存储在一个文本文件中,但不知道将它们存储在"query.txt“中最优雅的方式是什么。readline()命令似乎是一个选项,但不知何故使它变得非常不优雅。有没有人能建议一个顺利的解决方案?谢谢!

代码语言:javascript
复制
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)‬

这句话也让我头疼。我还没有想出如何正确地进行这个查询...

EN

回答 4

Stack Overflow用户

发布于 2011-05-10 06:08:41

对你来说,使用序列化会更好更方便:

代码语言:javascript
复制
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)
票数 0
EN

Stack Overflow用户

发布于 2011-05-10 06:13:20

假设“query.txt”包含:

代码语言:javascript
复制
hostname username password db  

您可以执行以下操作:

代码语言:javascript
复制
host, user, pass, db = open('query.txt').read().split()
sql = MySQLdb.connect (host = "%s", user = "%s", passwd = "%s", db = "s%"), host, user, pass, db)‬
票数 0
EN

Stack Overflow用户

发布于 2011-05-10 06:25:39

如果您想要一个格式良好且易于阅读的文本文件,可以使用JSON:

代码语言:javascript
复制
# 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)‬
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5942959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档