Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как правильно реверсировать итератор, как правильно реверсировать итератор 
:(
    Опции темы
Lonley
Дата 2.9.2014, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 7.10.2003
Где: северные ворота М урманск

Репутация: нет
Всего: 4



СУБД Informix
python 3.x 2.x
в SQL запросе мне нужно найти все FROM и перед именем таблицы вставить
перфикс имя базы данных 
Я решил примерно так

Код

#!/usr/bin/python
# -*- coding: UTF-8 -*-


import re


sql_select = re.compile('SELECT')
sql_from = re.compile('FROM', re.MULTILINE)

# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


class SQLRequest:
    def __init__(self, request):
        self.request = request

    def __setattr__(self, name, val):
        find = sql_select.match(val)
        if find is None:
            print ("Incorect request")
            return False
        # find = sql_from.search(val)
        find = sql_from.finditer(val)
        if find is None:
            print ("Incorect request")
            return False
        else:


вот тут Я реверсирую 
мне кажется это коряво

Код

            for i in reversed(list(enumerate(find))):
                pre_from = i[1].end()
                print (pre_from)
                val = val[:pre_from] + " bank13@bank11arch_tcp:" + val[pre_from + 1:]

        self.__dict__[name] = val
        print (self.__dict__[name])


# END CLASS
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


sql = """SELECT f,g,h,h FROM arch WHERE fbgf UNION SELECT f,g,h,i FROM arch WHERE fds"""
req = SQLRequest(sql)



--------------------
Земную жизнь пройдя до половины,
Я очутился в сумрачном лесу,
Утратив правый путь во тьме долины.
Каков он был, о, как произнесу,
Тот дикий лес, дремучий и грозящий,
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0360 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.