在多个 Python 模块上使用相同的 SQLite3 连接
Using the same SQLite3 connection over multiple Python modules
我正在使用 python-telegram-bot 在 Python3 中编写 Telegram Bot。目前,所有代码都放在一个文件中(>1k 行),结构如下:
import ...
a lot of bot's functions called by python-telegram-bot
database connection (SQLite3 using SQLAlchemy)
message's handlers
bot.polling()
我想通过对具有相似目的的函数进行分组,将这个整体文件拆分为多个 python 的文件。但是,我不知道如何处理数据库连接:在主文件中,我有一个使用 sqlalchemy 创建并被所有其他函数使用的 session
“全局”变量,因为它在同一范围内。如何正确管理多个文件?什么是最好的方法?
在另一个文件中创建数据库连接并分配给某个变量。
之后导入并在任何需要 get/modify 数据库中数据的地方使用它。
P.S. 不要在该文件中执行任何 app
导入以避免循环依赖。
P.P.S. Link provided by @wwii 应该有助于示例
我正在使用 python-telegram-bot 在 Python3 中编写 Telegram Bot。目前,所有代码都放在一个文件中(>1k 行),结构如下:
import ...
a lot of bot's functions called by python-telegram-bot
database connection (SQLite3 using SQLAlchemy)
message's handlers
bot.polling()
我想通过对具有相似目的的函数进行分组,将这个整体文件拆分为多个 python 的文件。但是,我不知道如何处理数据库连接:在主文件中,我有一个使用 sqlalchemy 创建并被所有其他函数使用的 session
“全局”变量,因为它在同一范围内。如何正确管理多个文件?什么是最好的方法?
在另一个文件中创建数据库连接并分配给某个变量。
之后导入并在任何需要 get/modify 数据库中数据的地方使用它。
P.S. 不要在该文件中执行任何 app
导入以避免循环依赖。
P.P.S. Link provided by @wwii 应该有助于示例