Форум сайта python.su
FoxPythonПосмотри на библиотеки типа SQLAlchemy или SQLObject. Вручную писать SQL задолбешься в любом языке. Да и в плане безопасности это очень скользко. Малейший недосмотр – и получаешь возможность sql-injection.nssМнога бук… знаков препинания (а мне питон приглянулся, в отличие от PHP всяких, за отсутствие лишних скобок, точек-запятучек и т.д.), но всё же такой вариант уже лучше. Будем использовать. Спасибо.
Чем тебя не устраивает вариант:Просто есть в питоне такая идиома, что “Explicit is better than implicit”. Все языковые конструкции продуманы с ее учетом.dict={}
dict['fam']='fam'
dict['im']='im'
dict['ot']='ot'
dict['table']='table'
dict['find_fam']='fam'
query='SELECT %(fam)s, %(im)s, %(ot)s FROM %(table)s WHERE %(fam)s=%(find_fam)s' % dict
Офлайн
Хе-хе, FoxPython, несмотря на укоризну софорумников, я считаю, твои стремления вполне оправданными. ))
Как тебе такой вариант:
from string import Template
MyQueryTemplate = Template('SELECT $fam, $im, $ot FROM $table WHERE $fam = $find_fam')
Query = MyQueryTemplate.substitute(fam='fam', im='im', ot='ot', table='anketa', find_fam='Petrov')
ps: и не забывай один нюанс - метод substitute на входе принимает только словари.
тонкости использования смотри в документации, топик ‘Template strings’.
Отредактировано (Дек. 13, 2007 21:53:41)
Офлайн
Teddy Bear
О! Что-то интересное. Попробуем-попробуем.
Teddy BearМои стремления удостоились рейтинга в -1. Все дружно решили, что я диверсант, вредитель, шпиён и агент мирового империализма :)
Хе-хе, FoxPython, несмотря на укоризну софорумников, я считаю, твои стремления вполне оправданными. ))
Офлайн
FoxPythonЕсть немного. :-)
Teddy Bear
Мои стремления удостоились рейтинга в -1. Все дружно решили, что я диверсант, вредитель, шпиён и агент мирового империализма :)
Офлайн
bialix
Спасибо за ссылочку. Я с “заповедями” согласен.
Но написание %s, %s, %s, %s, %s, %s, % one, two, three, four, five, six
хуже чем просто %one, %two, %three, %four, %five, %six
во втором случае сразу видно какая переменная к чему относится, в первом случае это уже не так уж очевидно. Приходится сопоставлять номер позиции %s и переменных
Это моё личное мнение. Естественно имеете полное право с ним не соглашаться. Точно так же как и я с Вашим. Разве не логично?
И никого я не пытался обидеть или посмеяться над чьим-то мнением.
Офлайн
FoxPythonВам же подсказали, что это делается либо через словарь: “%(one)s %(two)s” % vars, либо через синтаксис $one $two, правда только начиная с питона 2.4.
bialix
Спасибо за ссылочку. Я с “заповедями” согласен.
Но написание %s, %s, %s, %s, %s, %s, % one, two, three, four, five, six
хуже чем просто %one, %two, %three, %four, %five, %six
во втором случае сразу видно какая переменная к чему относится, в первом случае это уже не так уж очевидно. Приходится сопоставлять номер позиции %s и переменных
Офлайн
bialixДа, вполне благодарен за помощь. Я лишь объяснял свои первоначальные типа “претензии”.
Вам же подсказали, что это делается
Офлайн
Я думаю прежде чем пытаться программировать надо знать азы языка.
Извините конечно, но если просить все написать других, то зачем тогда самому программировать, пускай это делают другие, те кто хочет, умеет, или хочет и пытается сам, может и не умея, но что то делает сам, а не пытается узнать у других при первой же запинке :).
Офлайн
ffzema
Я АБСОЛЮТНО самостоятельно изучил FoxPro по встроенной справке. Но на это угрохалось немало времени. Не хочется изобретать велосипеды, если кто-нибудь может быстрее помочь, используя свои знания и опыт. При этом никого естественно этого делать не заставляю. Нет желания помочь, ну, нет так нет.
Учебник пишет обычно один человек и он не может предусмотреть все те заминки, которые могут случиться у новичка при изучении данного учебника, не может выложить советы сразу по любому возникающему у читателя по ходу чтения вопросу. У меня и так нет знакомых программистов, а уж по питону тем более. Спросить не у кого. Вот и лезу с надеждой на форум.
В том же учебнике в котором я вычитал про %(a)s как-то не очень явно было указано, что для такой конструкции требуется именно словарь. Вот я и застрял. А писать свою программку дальше хочется. А вместо этого приходится шарить, шарить, шарить и ещё раз шарить по учебникам, а у меня глаза уже жуть до чего красные, “песком” засыпанные. Никакие капли не помогают, готов уже идти учиться на Computer Destroyer. Есть такая профессия? А то я готов!
Офлайн