放入批处理脚本时Python文件未运行

我有一个连接 PostgresSQL 的 python 脚本。


下面是脚本。


import psycopg2


conn = psycopg2.connect('connection string')

try:

  curr = conn.cursor()

  sql_strng = "SELECT * FROM tbl"

  ### Further operations###

except(Exception, psycopg2.Error) as error:

      print("error",error)

finally:

    if (conn):

       conn.close()

当我从 Spyder 运行上面的代码时,它运行良好。但是当我尝试使用批处理脚本从命令提示符运行它时,它会给出如下所示的错误。我的批处理脚本:


C:\Users\Anaconda3\python.exe \path\to\python\file

上面的批处理脚本抛出错误如下。


if(conn):

NameError: name 'conn' is not defined

我错过了什么?


慕码人8056858
浏览 160回答 2
2回答

慕码人2483693

您需要将连接字符串设为全局。还要为连接字符串放置一个异常处理程序,如下所示:try:    conn = psycopg2.connect(connection string)except Exception as e:    print(e)这将告诉您您的连接是否已通过

慕村225694

如果psycopg2.connect抛出异常,conn = ...则永远不会执行分配,这意味着当您到达时if (conn),conn仍然未定义。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python