Форум программистов, компьютерный форум, киберфорум
Наши страницы

Python: Web

Войти
Регистрация
Восстановить пароль
 
sed99
0 / 0 / 0
Регистрация: 26.09.2014
Сообщений: 5
#1

Python 3.6 и psycopg2 - Python

16.12.2017, 13:41. Просмотров 157. Ответов 3
Метки нет (Все метки)

Здравствуйте!

Возникает проблема с библиотекой "psycopg2".

Сервер установлен и настроен, к нему можно коннектится и выполнять запросы, тут все гуд.

А вот скрипт на питоне выдает странные вещи.

Такое ощущение, что дальше чем подключение к серверу объекты не наследуются.
Сижу уже три дня, на форуме подходящих тем не нашел.

Python 3.6
psucopg2==2.7.3.2
PostgresSQL 9.3.3

код:
Кликните здесь для просмотра всего текста

Python
1
2
3
4
5
6
7
8
9
10
11
import psycopg2
 
db = psycopg2.connect(database='postgres',
                      user='test',
                      password='test')
cur = db.cursor()
print(db.server_version)
print(cur.execute('SELECT version()'))
res = cur.execute('SELECT * FROM "users"')
res = res.fetchone()
print(res)


Ошибка:
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
C:\Users\Denis\AppData\Local\Programs\Python\Python36\python.exe "D:/Карта памяти/PostgreatSQL_test/main.py"
90303
Traceback (most recent call last):
None
  File "D:/Карта памяти/PostgreatSQL_test/main.py", line 11, in <module>
    res = res.fetchone()
AttributeError: 'NoneType' object has no attribute 'fetchone'
 
Process finished with exit code 1
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2017, 13:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Python 3.6 и psycopg2 (Python):

psycopg2: ошибка авторизации - Python
Доброго времени суток! Есть скрипт, работающий с БД Postgres, используя модуль psycopg2. Если для параметра host в строке соединения...

Ошибка при установке psycopg2 - Python
OS:Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux DE:Qt: 4.8.2 KDE Development Platform: 4.8.4 (4.8.4) ...

Python - момент истины. Python - как оружие возмездие против системы - Python
Какие модули в python мне нужны для взлома баз данных? Перехвата информации? Внедрения в систему? Добавлено через 10 минут Хочу...

Как из Python скрипта выполнить другой python скрипт? - Python
Как из Python скрипта выполнить другой python скрипт? Если он находится в той же папке но нужно передать еще передать скрипту аргументы.

Порт pyqt5 (python 3.5) программы на android - Python - Python
Подскажите пожалуйста возможно ли программу написанную на python методами pyqt5 переделать под android этими методами? Если так, то как? ...

Почему синтаксис Python 2.* и Python 3.* так отличается? - Python
Привет! Решил на досуге заняться изучением Python'a. Читаю книгу по второму питону, а пользуюсь третьим. Некоторые вещи приходится...

3
Zuzik
294 / 250 / 43
Регистрация: 11.06.2012
Сообщений: 1,557
16.12.2017, 20:55 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ошибочка у вас в 10 строке. Должно быть так.
Python
1
res = cur.fetchone()
1
sed99
0 / 0 / 0
Регистрация: 26.09.2014
Сообщений: 5
16.12.2017, 21:30  [ТС] #3
спасибо большое, бывают же затупки

и последний вопрос, как получить все строки по запросу 'SELECT * FROM "название_таблицы;"'

а то получается только так

Python
1
2
3
4
5
for i in range(1, 97):
    i = str(i)
    res = cur.execute('SELECT * FROM "answers" WHERE id_question = '+str(i))
    res = cur.fetchone()
    print(res)
0
Zuzik
294 / 250 / 43
Регистрация: 11.06.2012
Сообщений: 1,557
18.12.2017, 10:54 #4
Если еще актуально - учитесь читать документацию. cur.fetchall()
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2017, 10:54
Привет! Вот еще темы с ответами:

Что лучше учить Python 2 или Python 3? - Python
хочу начать учить питон но полазив в нете, частенько попадалась информация что вроде как 2 будет долго жить и в то же время много кто на 3...

Python 35 Выполнить файл из python shell - Python
Есть файл do.py : print('start') import os import sys import re import inspect def someFunc(par):

Сложности с переходом с python 2.x на python 3.x - Python
def _load_config(self): for fn in CONFIG_FILES: fn = os.path.expanduser(fn) if os.path.exists(fn): ...

Изменение кода запроса с Python 2 на Python 3 - Python
Доброго времени суток. Я пишу программу и для её реализации мне необходимо, чтобы она делала запрос на гугл сервер и возвращала мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru