【问题标题】:If I connect to mysql, how can I import my modules by python?如果我连接到 mysql,如何通过 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 凭据。例如,您可以将它们存储在其他地方。环境甚至更好的秘密存储,您可以在运行时查询它们。

标签: python mysql module pymysql


【解决方案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,以免信息泄露。

【讨论】:

    猜你喜欢
    • 2020-02-18
    • 2019-08-08
    • 1970-01-01
    • 2020-10-10
    • 2015-10-26
    • 1970-01-01
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多