首页 > 解决方案 > 放入批处理脚本时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

我错过了什么?

标签: pythonpostgresqlbatch-file

解决方案


如果psycopg2.connect抛出异常,conn = ...则永远不会执行分配,这意味着当您到达时if (conn)conn仍然未定义。


推荐阅读