簡體   English   中英

Python 放入批處理腳本時文件未運行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM