Файл Python не запускается, когда помещается в пакетный скрипт - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть скрипт на python, который соединяет PostgresSQL.Ниже приведен скрипт.

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

Где я пропускаю.Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

Если psycopg2.connect выдает исключение, присваивание conn = ... никогда не выполняется, что означает, что при достижении if (conn), conn все еще не определено.

0 голосов
/ 26 сентября 2019

Вам нужно сделать строку подключения глобальной.Также добавьте обработчик исключений для строки подключения, как показано ниже:

try:
    conn = psycopg2.connect(connection string)
except Exception as e:
    print(e)

Это сообщит вам, прошло ли ваше соединение или нет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...