python - 放入批处理脚本时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
我错过了什么?
解决方案
如果psycopg2.connect
抛出异常,conn = ...
则永远不会执行分配,这意味着当您到达时if (conn)
,conn
仍然未定义。
推荐阅读
- java - 是否可以根据某些过滤器将内容从一种助焊剂插入到另一种助焊剂
- c# - 如何在 C# 中动态创建一周的数组?
- eval - Eiffel:一种评估 STRING 表达式的方法,例如 `eval`
- python - AttributeError: module 'ternary' has no attribute 'figure'
- java - Spring XML,真的不是一种在字符串值中使用尖括号或反斜杠代码的方法吗?
- php - $_POST 在推送通知响应中为空 (PHP)
- c - 使用 RegQueryValueExA() api 从注册表读取“操作系统安装日期”值失败
- php - php mysql 从 json 插入/更新
- javascript - 复制而不保留参考
- visual-studio - 进程“msbuild.exe”以代码“1”退出