python - 使用 python 导入我的数据库连接

标签 python mysql

是否可以使用我的数据库凭据创建单个 py 文件以连接到 MySQL 数据库 Ex。

con = [ [ip='0.0.0.0'],[username = 'root'],
[password='pswd'],[database='test']]

然后在另一个文件上使用这个文件。

喜欢

import dbcon.py*

dbcon.sort

con = mdb.connect(info from py file goes here.)

最佳答案

这是可能的,但混合代码和数据(任何类型 - 配置、HTML 等)并不是一个好主意,至少有两个原因:

  • 设计 - 您最终会得到所谓的高耦合。存在很多依赖项,难以遵循,并且您的应用程序越来越难以修改的情况。
  • 安全 - 您的凭据迟早会出现在某些代码备份存档或存储库中。配置文件可以额外加密,py文件不是。如果它是一个网络应用程序,那么限制对单个配置文件的访问比对所有可能包含敏感数据的 py 文件的访问更容易。

您仍然可以创建这个单独的、易于使用的连接处理函数。但是将您的连接凭据移动到单独的配置文件。

配置文件:

[mysqlDB]
host = '0.0.0.0'
db = 'test'
user = 'root'
pass = 'pswd'

您可以在连接 py 文件中读取配置或使其更全局化(即单例?)。如果你想读取连接文件中的配置:

存储.py:

import configparser
import MySQLdb.cursors

config = configparser.ConfigParser()
config.read('config.ini')

def connect():
    return MySQLdb.connect(host = config['mysqlDB']['host'],
                           user = config['mysqlDB']['user'],
                           passwd = config['mysqlDB']['pass'],
                           db = config['mysqlDB']['db'])

使用示例:

import storage

conn = storage.connect()

关于python - 使用 python 导入我的数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42906665/

相关文章:

python - MPI4Py comm.Barrier() 没有阻塞 MSMPI?

python - 在 Pandas Dataframe 中为字符串添加前导零

PHP MYSQL SELECT 查询卡在 WHERE 子句中的负值或语法上

php - 事务隔离的需求和范围 - MySQL

python - 来自 keras : "Update your Conv2D call to the Keras 2 API" 的警告

python - 使用 python-requests 从 DHL 获取跟踪详细信息

python - Tweepy 库中存储的 next_cursor 值在哪里?

php - CakePHP 多输入字段 w/saveAll() HABTM 多条记录插入不保存

javascript - ajax成功未获取php记录

php - 使用 Sphinx 进行复杂查询