如果我连接到 mysql,如何通过 python 导入我的模块?

Posted

技术标签:

【中文标题】如果我连接到 mysql,如何通过 python 导入我的模块?【英文标题】:If I connect to mysql, how can I import my modules by python? 【发布时间】:2021-12-18 09:15:40 【问题描述】:

如果我想连接到 mysql,这是我的代码。但是,我不想要'admin'、'root' 等,如下所示。我想我可以创建自己的模块,然后导入它们。但是,我不知道该函数会是什么样子以及如何导入它。提前致谢。

db_new1 = pymysql.connect(database='byt',
                      user='root',
                      password='admin',
                      host='localhost',
                      port=3306)
cursor_new1 =db_new1.cursor()

【问题讨论】:

您是说您想要这些参数的外部来源吗?由configparser 或 json 或 yaml 之类的其他内容读取配置文件文件很常见。导入包含配置信息的模块并不常见,因为您通常希望将此类信息保留在任何人都可以获取的 python 模块路径之外。 为什么不使用环境变量?我同意,您不必在代码中硬编码 db 凭据。例如,您可以将它们存储在其他地方。环境甚至更好的秘密存储,您可以在运行时查询它们。 【参考方案1】:

执行此操作的最简单方法是使用 config.py 文件,您可以在其中存储所需的所有数据,如下所示

config.py

database = 'byt'
user = 'root'
password = 'admin'
host = 'localhost'
port = 3306

然后在您的主文件中,您可以将 config.py 文件作为一个整体或仅导入特定变量(建议这样做以避免命名空间错误和冲突)

main.py

from config import database, user, password, host, port

db_new1 = pymysql.connect(database=database, user=user, password=password, host=host, port=port)
cursor_new1 =db_new1.cursor()

如果您使用的是git,请务必将config.py添加到.gitignore,以免信息泄露。

【讨论】:

以上是关于如果我连接到 mysql,如何通过 python 导入我的模块?的主要内容,如果未能解决你的问题,请参考以下文章

msSQL jdbc .. 我连接到服务器但如何连接到使用特定的 databaseName

Android with Asmack - 当我连接到 XMPP 时如何获取当前状态信息?

如何使用 Python 登录大型机

MySQL 显示当前连接信息

如何从 AWS Lambda Python 连接到 Informix DB

使用 SSH 的 Laravel MySql 数据库连接