当前位置: 首页 > 面试题库 >

使数据库连接可跨许多python模块使用的正确方法

吴谦
2023-03-14
问题内容

我想在多个python模块中提供一个数据库对象。

对于 相关 示例,我创建globl.py:

DOCS_ROOT="c:\docs" ## as an example
SOLR_BASE="http://localhost:8636/solr/"

任何其他需要它的模块都可以

from globl import DOCS_ROOT

现在除了这个示例之外,我想对 数据库连接对象同样的事情,在许多模块之间共享它们

import MySQLdb
conn = MySQLdb.connect (host="localhost"...)
cursor = conn.cursor()

我在解释器上尝试过:

from globl import cursor

而且似乎可行。但是我怀疑这将 导致每次 从该 模块导入时执行相同的模块 。那么这是正确的方法吗?


问题答案:

你猜错了。该代码将仅执行一次-后续导入仅通过引用该模块sys.modules,而不重新运行它。

(请注意,只要您始终使用相同的路径来导入模块,就属于这种情况-如果您from globl import cursor在一个地方,而from my.fullyqualified.project.global import cursor在另一个地方,则可能会发现代码已重新执行。)

*正如S.Lott在评论中所说,进行 *编辑以添加 ,这是处理全局对象的一种非常好的方法。



 类似资料:
  • 问题内容: 它是否正确?有没有更好的方法来构造它?这会覆盖我所有的基地吗? 问题答案: 看一下Requests 异常文档。简而言之: 如果出现网络问题(例如DNS故障,连接被拒绝等),请求将引发异常。 如果发生罕见的无效HTTP响应,则请求将引发HTTPError异常。 如果请求超时,Timeout则会引发异常。 如果请求超过配置的最大重定向数,则会引发异常。 请求显式引发的所有异常都继承自。 要

  • 所以我正在尝试使用突出显示的连接进行连接。我使用密码'abcdefghijkl'登录到SQL环境。我正在尝试连接到名为“flight_school”的数据库 我的python脚本看起来就是这样。` 导入mysql.connector mydb=mysql.connector.connect(“localhost”,“root”,“abcdefghijkl”,“flight_school”“)打印(

  • 尝试通过python的TCPS连接来连接Oracle数据库,但失败,出现ORA-28759:无法打开文件。 我不确定从本地/其他服务器连接到不同服务器上的数据库时需要在钱包中配置什么。

  • 错误抛出在“load(couldant_credentials['db_name'])”上,所以是否缺少要导入的库? 我确信我使用的Cloudant证书是正确的。 我尝试使用Java代码,但得到同样的错误。

  • 本文向大家介绍JSP使用JDBC连接MYSQL数据库的方法,包括了JSP使用JDBC连接MYSQL数据库的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JSP使用JDBC连接MYSQL数据库的方法。分享给大家供大家参考,具体如下: 1. 可在 http://www.mysql.com/products/connector-j/index.html下载MySQL JDBC驱动程序mys

  • 本文向大家介绍php无法连接mysql数据库的正确解决方法,包括了php无法连接mysql数据库的正确解决方法的使用技巧和注意事项,需要的朋友参考一下 即使连接Mysql的语句正确,php也无法连接mysql数据库,出现如下图所示的结果: 首先是在Apache服务器的conf/httpd.conf下的任意位置都没有:PHPIniDir "php压缩目录"这一项。 如"C:/php-5.4.43-W

  • 问题内容: 如何使用python程序连接到MySQL数据库? 问题答案: 分三步使用Python 2连接到MYSQL 1-设定 在执行任何操作之前,必须安装MySQL驱动程序。与PHP不同,默认情况下,Python仅安装SQLite驱动程序。最常用的软件包是MySQLdb,但很难使用进行安装。请注意,MySQLdb仅支持Python 2。 对于Windows用户,你可以获取MySQLdb的exe。

  • 本文向大家介绍Python MySQLdb模块连接操作mysql数据库实例,包括了Python MySQLdb模块连接操作mysql数据库实例的使用技巧和注意事项,需要的朋友参考一下 mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法。python操作数据库需要安装一个第三方的模块,在http://mysql-python.