首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将项目导入模块?

问如何将项目导入模块?
EN

Stack Overflow用户
提问于 2020-06-14 22:32:47
回答 2查看 46关注 0票数 1

我想创建自己的模块来返回Mysql游标,但是我的模块依赖于import mysql.connector和from mysql.connector import Error。

我该如何解决这个问题?是否与__init__.py文件的目录位置有关?我去叫NameError: name 'mysql' is not defined。

代码语言:javascript
复制
from mysql import connector
from mysql.connector import Error


class SqlCnt:
    def __init__(self, db):
        """Constructor for this class."""
        self.db = db

    @classmethod
    def get_input(self):
        db = input("Enter the database:")
        try:
            cnx = mysql.connector.connect(
                host="localhost",
                database=''+db,
                port=******,
                user="root",
                password="*******",
                raise_on_warnings=True,
                use_pure=False,
                autocommit=True
                )
            print("Connection made,cursor object returned")
            cursor = cnx.cursor(prepared=True)
            return cursor
        except mysql.connector.Error as error:
            print("Failed to connect {}".format(error))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-14 22:56:24

让我来解释一下你犯了什么错误,以及解决的方法。您从mysql导入了connector,从mysql.connector导入了Error,因此只有connector和Error。您不能像在except mysql.connector.Error as error中那样使用mysql,因为您从未导入过mysql。所以可以通过使用import mysql来解决这个问题。这就像访问目录一样,当你在子目录中时,你不能对父目录进行操作。

票数 0
EN

Stack Overflow用户

发布于 2020-06-14 22:39:51

当您使用from时,它只接受该对象。也就是说,在您执行以下代码行之后:

代码语言:javascript
复制
from mysql.connector import Error

您不需要使用此行中所写的mysql.connector:

代码语言:javascript
复制
except mysql.connector.Error as error:

相反,正确的方法应该是只使用对象的名称,如下所示:

代码语言:javascript
复制
except Error as error:
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62373931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档