Уведомления

Группа в Telegram: @pythonsu

#1 Март 16, 2012 01:52:30

Семён
От:
Зарегистрирован: 2011-12-27
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

по работе с MS SQL bp python

Вообщем нюанс один вылез…

мне нужно сделать сл:
обратиться к БД, исполнить sql-запрос и записи представить ввиде списка,т.е. чтобы к каждой записи можно обратиться,указав её порядковый номер в списке+работа с каталогами

в краткости у меня реализовано сл:

....
#connect к БД
conct=pymssql.connect(...)
#
w='select......'
q=conct.cursor()
q.execute(w)
dannie1=q.fatchall()
print dannie1
print len(dannie1)
я получаю в консоль сл.:
('zapis1',)(zap2,') 
и т.д.

155
а мне к примеру нужно отдельно так-то вытащить:
zapis1
zapis2
и т.д.

добавляю команду
print dannie[1]
получаю тоже самое,что и при print dannie1

((((
попробовал сл.способом:


....
#connect к БД
conct=pymssql.connect(...)
#
w='select......'
q=conct.cursor()
q.execute(w)
dannie1=q.fatchall()
for i in len(dannie1):
q.execute(w)
dannie2=q.fatchone()
r.append(dannie2)
print r[1]
print r[2]
r=[]
#проверяем есть ли такие каталоги /temp/zapis1 /temp/zapis2 и т.д., если есть но пишем "есть такой каталог",если нет,то создаём его
for i in len(r):
path1='/temp/'+r[i]
if not os.path.isdir(path1)
os.makedirs(path1)
else:
print 'есть такой каталог'
как вы понимаете у меня ничего нe получилось((как это можно достичь?



Офлайн

#2 Март 16, 2012 05:33:06

Piton23
От:
Зарегистрирован: 2011-10-17
Сообщения: 139
Репутация: +  5  -
Профиль   Отправить e-mail  

по работе с MS SQL bp python

Формулируйте точнее, не как это можно достичь, или как это сделать. А “как распарсить результат запроса к базе” к примеру.



>>> list = ((3,), (5,))
>>> for (value,) in list:
print value

3
5
>>>

Офлайн

#3 Март 16, 2012 06:29:39

Семён
От:
Зарегистрирован: 2011-12-27
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

по работе с MS SQL bp python

Спасибо,учту, постараюсь выражаться более точнее.
а если у нас есть допустим список адресов(massiv) и нам нужно определить наличие реально существует такой адресс или нет?
я попробовал так:

for p in len(massiv):
if not os.path.isdir(massiv[p]):
print 'Нет директории %s переходим к проверке сл директории'%massiv[p]
continue
else:
print '%s такая директория существует'%massiv[p]
Но правда у меня выходи ошибка типа данных на строке:
for p in len(massiv):

почему не правильно?ведь параметр p-это же целочисленное значение и len(massiv) возвращает целочисленное значение, т.е. подобьная конструкция даолжна создать цикл от 1 до len(massiv) раз.
или как-то по-другому нужно?



Офлайн

#4 Март 16, 2012 07:12:49

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

по работе с MS SQL bp python

for p in xrange(len(massiv)):
Но я считаю что такой подход не правильный, и лучше использовать форму:
for p in massiv:
if not os.path.isdir(p):
....

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version