[英]Python File is not running when put in a batch script
我有一个连接 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
我错过了什么?
您需要将连接字符串设为全局。 还要为连接字符串放置一个异常处理程序,如下所示:
try:
conn = psycopg2.connect(connection string)
except Exception as e:
print(e)
这将告诉您您的连接是否已通过
如果psycopg2.connect
抛出异常,则永远不会执行conn =...
赋值,这意味着当您到达if (conn)
时, conn
仍然是未定义的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.