如何将项目导入模块?
How to import items into a module?
我想为 return Mysql 游标创建自己的模块,但我的模块依赖于 import mysql.connector
和 from mysql.connector import Error
。
我该如何解决这个问题?与 __init__.py
文件的目录位置有关吗?我得到 NameError: name 'mysql' is not defined
.
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))
当您使用 from
时,它会单独使用该对象。也就是说,当你执行了这一行之后:
from mysql.connector import Error
您不需要使用 mysql.connector
,如以下行所写:
except mysql.connector.Error as error:
相反,正确的方法是只使用对象的名称,如下所示:
except Error as error:
让我解释一下你犯了什么错误以及解决它的方法。
您从 mysql
导入了 connector
,从 mysql.connector
导入了 Error
,所以您只有 connector
和 Error
。您不能像在 except mysql.connector.Error as error
中那样使用 mysql
,因为您从未导入 mysql
。
所以可以使用import mysql
来解决这个问题。
这就像在子目录中访问目录时不能对父目录进行操作一样。
我想为 return Mysql 游标创建自己的模块,但我的模块依赖于 import mysql.connector
和 from mysql.connector import Error
。
我该如何解决这个问题?与 __init__.py
文件的目录位置有关吗?我得到 NameError: name 'mysql' is not defined
.
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))
当您使用 from
时,它会单独使用该对象。也就是说,当你执行了这一行之后:
from mysql.connector import Error
您不需要使用 mysql.connector
,如以下行所写:
except mysql.connector.Error as error:
相反,正确的方法是只使用对象的名称,如下所示:
except Error as error:
让我解释一下你犯了什么错误以及解决它的方法。
您从 mysql
导入了 connector
,从 mysql.connector
导入了 Error
,所以您只有 connector
和 Error
。您不能像在 except mysql.connector.Error as error
中那样使用 mysql
,因为您从未导入 mysql
。
所以可以使用import mysql
来解决这个问题。
这就像在子目录中访问目录时不能对父目录进行操作一样。