Size: a a a

Сообщество Python Программистов

2021 March 15

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Сергей Николаев
Помогите сделать правильно "в стиле" питона.
Для примера:
def load_ini():
   config = configparser.ConfigParser()
   if not config.read('file.ini'):
        print("не могу открыть файл")
        return -1
   try:
        par = config.get('par')
   except:
        print("ошибка чтения параметра")
        return -1
   else:
        return 0

main():
  ....
  if load_ini():
          Обрабатываем параметр
  else:
          return

Мне говорят "много cи". В питоне так не делают. Как надо? Ничего не проверять?
Можно, например, вот так

def load_ini():
   config = configparser.ConfigParser()
   config.read('file.ini')
   return config.get('par', fallback=None)

def main():
   par = load_ini()
   if par is None:
       return
   %обработка параметра%
источник

СН

Сергей Николаев... in Сообщество Python Программистов
Во! Попробую. Спасибо
источник

РС

Роман Сарнов... in Сообщество Python Программистов
Всем привет. Помогите пожалуйста. Нужно сделать через MethodView фласка возможность через одну функцию get обрабывать разные запросы: Если приходит запрос например users/<id> то выдать одного юзера по этому id, если users, то всех юзеров
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Сергей Николаев
Помогите сделать правильно "в стиле" питона.
Для примера:
def load_ini():
   config = configparser.ConfigParser()
   if not config.read('file.ini'):
        print("не могу открыть файл")
        return -1
   try:
        par = config.get('par')
   except:
        print("ошибка чтения параметра")
        return -1
   else:
        return 0

main():
  ....
  if load_ini():
          Обрабатываем параметр
  else:
          return

Мне говорят "много cи". В питоне так не делают. Как надо? Ничего не проверять?
и да, здесь действительно много Си)
источник

W

Wpakk in Сообщество Python Программистов
Ребята,а в чем разница между print(f” {}”) и просто выводом переменной
источник

I

ITFY forum informer in Сообщество Python Программистов
Wpakk
Ребята,а в чем разница между print(f” {}”) и просто выводом переменной
⁉ Вы можете получить ответ на свой вопрос перейдя по ссылке ниже:
источник

АЮ

Артём Юров🇷🇺... in Сообщество Python Программистов
Wpakk
Ребята,а в чем разница между print(f” {}”) и просто выводом переменной
легче читается, быстрее работает.
источник

W

Wpakk in Сообщество Python Программистов
Спасибо!
источник

АЮ

Артём Юров🇷🇺... in Сообщество Python Программистов
Wpakk
Спасибо!
а, ну и sql-запросы с переменными из скрипта составлять через f-строки удобно.
источник

W

Wpakk in Сообщество Python Программистов
Хорошо,понял
источник

in Сообщество Python Программистов
Артём Юров🇷🇺
а, ну и sql-запросы с переменными из скрипта составлять через f-строки удобно.
источник

in Сообщество Python Программистов
чему ты учишь!
источник

in Сообщество Python Программистов
нельзя так делать во избежание sql-injection. Миллион раз написано в каждом втором учебнике
источник

АЮ

Артём Юров🇷🇺... in Сообщество Python Программистов
нельзя так делать во избежание sql-injection. Миллион раз написано в каждом втором учебнике
зависит от запроса. Некоторые запросы так составлять абсолютно безопасно.
для других действительно, стоит использовать VALUES.
источник

in Сообщество Python Программистов
Артём Юров🇷🇺
зависит от запроса. Некоторые запросы так составлять абсолютно безопасно.
для других действительно, стоит использовать VALUES.
При чём тут VALUES? Некоторые запросы, может быть и безопасно, но большинство данных надо проверять на спец-символы и экранировать их. Тогда вопрос, зачем пользоваться f-строками в составлении запроса, если ты намного чаще будешь использовать подстановку, которая делает это автоматически?
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Артём Юров🇷🇺
зависит от запроса. Некоторые запросы так составлять абсолютно безопасно.
для других действительно, стоит использовать VALUES.
В ЕДИНИЧНЫХ случаях допустимо форматировать запросы ручками
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
В 99% мест такое недопустимо
источник

in Сообщество Python Программистов
один раз запутаешься и какой-нибудь особо ярый мамкин хакер со специфичным именем дропнет тебе таблицу
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Бензофуран Гетероцикл
В 99% мест такое недопустимо
потому что инъекции
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
один раз запутаешься и какой-нибудь особо ярый мамкин хакер со специфичным именем дропнет тебе таблицу
это самое безобидное из возможного, кстати
источник