Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中跨多个文件连接到MySQL最有效的方法是什么?_Python_Mysql - Fatal编程技术网

在Python中跨多个文件连接到MySQL最有效的方法是什么?

在Python中跨多个文件连接到MySQL最有效的方法是什么?,python,mysql,Python,Mysql,我有一个跨越多个文件的Python应用程序,有一个主应用程序和(我们称之为main.py)以及几个由main.py导入的模块(我们称之为module_a.py和module_b.py) 跨所有这些文件连接到MySQL数据库的最有效方法是什么 我是否应该创建一个单独的模块database.py,连接到该模块中的数据库,并将该模块导入到每个文件中,然后使用: //database.py db=MySQLdb.connect(host="localhost",user="xxx",passwd="yy

我有一个跨越多个文件的Python应用程序,有一个主应用程序和(我们称之为main.py)以及几个由main.py导入的模块(我们称之为module_a.py和module_b.py)

跨所有这些文件连接到MySQL数据库的最有效方法是什么

我是否应该创建一个单独的模块database.py,连接到该模块中的数据库,并将该模块导入到每个文件中,然后使用:

//database.py
db=MySQLdb.connect(host="localhost",user="xxx",passwd="yyy",db="zzz")

//main.py
import database
cur = database.db.cursor()

//module_a.py
import database
cur = database.db.cursor()
或者我应该分别连接到每个文件中的数据库


或者可能还有其他更适合此目的的选项?

在我的意见数据库中。py会使用连接池来实现这一点(您可能只需要什么?Amirite?

我没有明确回答您的问题,但我绝对推荐任何数据库操作。您是并行执行多个查询,还是选择singleton/borg模式?与您的问题相关,尽管不是您所问的问题:从我们应用程序中的任何子模块重新导入模块不会降低Python的任何性能。“database.py”文件在应用程序生命周期内只会被解析一次。@Blender:事实上,我认为“使用sqlalchemy”是对这个问题的一个非常明确和直接的回答,因为它是书面的。非常感谢使用sqlalchemy的提示!我从没听说过,我一定会调查的。我可能会在将来并行运行查询,尽管我现在不这么做。我同意这个家伙的观点。创建一个文件并具有类似open()close()的函数etc@wojciechz是的,连接池正是我想要做的。谢谢你的回答,我一定会努力的it@Peter我真的不明白开()和关()的建议。您是否建议创建单独的函数来关闭和打开数据库连接?我希望,一旦打开,在开始时(通过main.py),它可以一直保持打开状态(只要我一直使用这个数据库),维护到数据库的永久连接对应用程序来说不是那么有效。当然,有些实时应用程序需要一直打开。