多余的价值从何而来? [重复]

我正在尝试编写一个小脚本,该脚本将数据从sql服务器数据库迁移到postgresql数据库。

到目前为止,我使用pyodbc连接到sql服务器并进行了一些测试查询。 现在为了更好的结构,我决定为每种数据库类型创建一个类,例如PGManger和MSSQLManager。

从其各自的类中调用相同的查询而不是直接执行它会产生一个额外的行,其值为“ none”,我无法弄清楚这是从哪里来的。

该类的代码如下所示:

import pyodbc
class MSSQLManger:

    def __init__(self, connString):
        self.conn = pyodbc.connect(connString)
        self.cursor = self.conn.cursor()

    def getTableNames(self):
        cursor = self.cursor.execute("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE 'a%' 
                                      AND TABLE_TYPE = 'BASE TABLE';")
        rows = cursor.fetchall()
        for row in rows:
            print(row)

“主”脚本中的代码:

from mssql import MSSQLManger

msql = MSSQLManger(conn_string)

print(msql.getTableNames())

结果是:

('tab_name1', )

('tab_name2', )

...

('tab_nameX', )

None

现在,如果摆脱了整个课堂上的问题,无问题消失了,问题主义者,它从何而来?

评论
  • miste
    miste 回复

    只是不打印它:

    msql.getTableNames()