首页 > 解决方案 > 如何将 psycopg2 导入我正在编写的新模块中

问题描述

因此,为了简化,我正在尝试编写自己的模块 ( test.py),如下所示:

import psycopg2

get_data(xyz):


    connection = psycopg2.connect(user="",
                                  password="",
                                  host="",
                                  port="",
                                  database="")

    last_qry = """select * from xyz.abc"""

    cursor = connection.cursor()

    cursor.execute(last_qry)

    last_data = cursor.fetchone()

    cursor.close()

    connection.close()

    return last_data

在我正在运行的另一个文件中:

import test

get_data(xyz)

我收到以下错误:

name 'psycopg2' is not defined

我究竟做错了什么?

标签: python-3.xmoduleimporterror

解决方案


您在此处放置的这些代码片段中有许多错误:

  1. 您的导入应该是这样的:

    from test import get_data
    

    或以这种方式:

    import test
    test.get_data()
    
  2. 有什么用xyz?第二个代码片段必须返回 NameError,因为xyz没有定义;如果你想在其中使用它,last_qry你必须拥有.format()它。

  3. 包含第二个文件的目录结构是什么?第一个文件在哪里?


推荐阅读