@ru_python

Страница 6774 из 9768
Nikolay
18.10.2018
14:34:44
Всем щас спам пришел, да?)
приходил, но я сделал report spam

Олег
18.10.2018
14:34:59
87776
18.10.2018
14:43:15
кто-нибудь может пояснить какую задачу на самом деле решает pyenv?

я вот сделал pyenv local 3.7.0, делаю pyenv virtualenv 3.7.0 testenv и в testenv лежит питон 3.5, я ожидаю видеть весрию 3.7.0 и только её.

Google
87776
18.10.2018
14:44:37
что за хрень

Ivan
18.10.2018
14:47:41
winium от 2gis: https://github.com/2gis/Winium.Desktop/wiki/Magic-Samples
Вообщем, я пробую это вариант, у меня выдает ошибку, взял я пример на этой странице, ошибка - urllib3.exceptions.MaxRetryError

Alex
18.10.2018
14:53:51
кто-нибудь может пояснить какую задачу на самом деле решает pyenv?
позволяет без проблем управлять версиями python и virtualenv с соответствующим плагином

сделай pyenv versions и покажи сюда

87776
18.10.2018
14:55:02
где ты testenv смотришь?
в смысле? peynv activate testenv

Alex
18.10.2018
14:55:29
$ pyenv versions $ pyenv version

87776
18.10.2018
14:56:13
(hhw) username@compname /mnt/e/OLDE/python/hello_world $ pyenv versions system 3.7.0 3.7.0/envs/hhw 3.7.0/envs/hw * hhw (set by PYENV_VERSION environment variable) hw

hhw ==testenv

echo $PYENV_VERSION hhw

pyenv version hhw (set by PYENV_VERSION environment variable)

Alex
18.10.2018
14:57:13
echo $PATH command -v python

87776
18.10.2018
14:57:33
ох, такое только в личку могу

Google
Alex
18.10.2018
14:57:52
серьезно?

ну ок, что говорит command -v python?

кстати никогда не пользовался pyenv activate, всегда через pyenv local или pyenv shell активировал.

87776
18.10.2018
14:59:53
Кажется penv local не активирует

Alex
18.10.2018
15:00:47
УМВР

Арсений
18.10.2018
15:18:31
Есть вопрос к вам, ребят. Мне нужно получать от пользователя число или день недели и преобразовывать дату в строку формата YYYY-MM-DD. У меня есть три блока: 1. Блок работы с пользователем (bot TG), он получает данные в виде команд или текста 2. Блок получания данных (расписание занятий на неделю) из API — как раз ему нужна дата в таком формате 3. Блок обработки данных — он на вход получает данные из второго блока и выбирает нужный день по его индекдня недели. Вопрос следующий: как и где лучше реализовать обработку чисел?

Сейчас она в функции получения расписания, но мне кажется, это не самый идеальный вариант

Bohdan
18.10.2018
15:19:19
в первом

Pavel
18.10.2018
15:19:31
я бы сделал в боте, а потом таскал везде дату, а не строку с датой

Alex
18.10.2018
15:20:09
Имеешь в виду таптл?
datetime.date объект

Арсений
18.10.2018
15:20:17
Ну да, я про него

Хм, действительно

Alex
18.10.2018
15:20:30
ну как бы это не совсем кортеж

Арсений
18.10.2018
15:20:50
А что тогда?

Не совсем понимаю

И ещё вопрос касаемо преобразования даты: нужно чтобы бот понимал, что если сегодня 18.10.2018 и пользователь отправил цифру 24, значит нужно 24.10.2018, но если к примеру он отправит 2, это уже 02.11.2018

today = datetime.datetime.now() year = '.' + str(today.year) month = '.' + str(today.month) try: date = datetime.datetime.strptime(date + month + year, "%d.%m.%Y") except: try: date = datetime.datetime.strptime(date + year, "%d.%m.%Y") except: date = datetime.datetime.strptime(date, "%d.%m.%Y") date = pytils.dt.ru_strftime(u"%Y-%m-%d", inflected=True, date=date)

Я это реализоавл вот таким костылём

Google
Арсений
18.10.2018
15:24:24
это что вообще?
Мой говнокод

Bohdan
18.10.2018
15:24:30
тебе нужна ближайшая дата с этим числом ты можешь учитывать текущее число и отталкиваться от него

Alex
18.10.2018
15:25:00
что он вообще делать должен? объясни, мне лень читать это

Alex
18.10.2018
15:25:58
т.е. пользовать просто цифру вводит?

Арсений
18.10.2018
15:26:40
т.е. пользовать просто цифру вводит?
Он может ввести либо 19, либо 19.10, либо 19.10.2018

Bohdan
18.10.2018
15:26:45
если в этом месяце такая дата была - берёшь её из следующего месяца

Арсений
18.10.2018
15:27:55
Он может ввести либо 19, либо 19.10, либо 19.10.2018
Нужно чтобы пользователь мог ввести дату любым образом

Alex
18.10.2018
15:39:21
Нужно чтобы пользователь мог ввести дату любым образом
https://stackoverflow.com/questions/13429524/python-smart-date-parsing-without-a-year-specified

Арсений
18.10.2018
15:41:05
А насколько это быстро?

Если несколько сотен человек будут пользоваться, это не будет слабым местом?

Роман
18.10.2018
16:07:28
Если несколько сотен человек будут пользоваться, это не будет слабым местом?
Если ты про веб, то, мне кажется, что просадки сильно большой не должно быть, на худой конец можешь заюзать кеширование

Никита
18.10.2018
16:09:09
Есть какие то либы аналогичные Гошной encoding/json, которые могут парсить json в класс?

Denis
18.10.2018
16:09:31
Зачем?

Можно у дикта getattr переопределить

Никита
18.10.2018
16:10:20
Определил модели запросов/ответов, например

Google
Никита
18.10.2018
16:10:52
ну и?
Читай вопрос выше

Denis
18.10.2018
16:11:01
Их можно заполнить из того, что вернул json.loads

Роман
18.10.2018
16:11:08
Что тебе дает парсинг в класс?

Pavel
18.10.2018
16:11:13
Определил модели запросов/ответов, например
ну и добавь им @staticmetod def from_dict(d)

Denis
18.10.2018
16:11:25
YourModel(**json.loads(data))

Admin
ERROR: S client not available

Nikolay
18.10.2018
16:11:31
Есть какие то либы аналогичные Гошной encoding/json, которые могут парсить json в класс?
это у го надо спросить, чего там нет, что есть в питоне

Никита
18.10.2018
16:11:31
Их можно заполнить из того, что вернул json.loads
Вложенные структуры нормально не заполнить

Nikolay
18.10.2018
16:11:47
в го нихера же нет

Denis
18.10.2018
16:11:56
Но это проблема уже не про json

Никита
18.10.2018
16:11:58
в го нихера же нет
Разговор явно не об этом

Nikolay
18.10.2018
16:12:05
Начинаешь решать задачу; обнаруживается, что теперь у тебя 2 задачи

Pavel
18.10.2018
16:12:21
в го нихера же нет
зато сериализация в джсон - есть. Что тебе ещё надо?

Никита
18.10.2018
16:12:25
Роман
18.10.2018
16:12:32
Вложенные структуры нормально не заполнить
ну может потому что для них своя сериализация/десериализация есть

Mike
18.10.2018
16:12:32
Denis
18.10.2018
16:12:36
Проще всего научить структуры строиться из дикта и строить детей рекурсивно

Никита
18.10.2018
16:12:48
конструктор пишешь и все
Вложенные структуры сложно обрабатывать

Nikolay
18.10.2018
16:12:49
у меня нет детей

Google
Denis
18.10.2018
16:12:59
Mike
18.10.2018
16:13:18
Есть какие то либы аналогичные Гошной encoding/json, которые могут парсить json в класс?
ты зачем-то пытаешься гошный подход десериализации данных в стукруту засунуть в питон, в котором для этого используют словарь / методы генерации классов из словаря

Pavel
18.10.2018
16:13:36
classmethod каноничнее
да, отвлёкся и опечатался, спасибо

Nikolay
18.10.2018
16:13:51
Уходи с го в свой двор

Роман
18.10.2018
16:15:08
Вложенные структуры сложно обрабатывать
Ну сделай такой же конструктор, как и в других, а потом еще изобрети свою схему для определения классов полей

Не очень понятно, зачем это делать.

Если дело в валидации, о есть же жсонсхема, но о ней ты 100% знаешь

Mike
18.10.2018
16:17:27
Легче работать с четко определенной схемой
так нахуй ты питон тогда взял, лол

Никита
18.10.2018
16:17:45
Роман
18.10.2018
16:17:45
Если же нужны какие-то доп. поля для твоих классов запроса-ответа, то сделай свойства и вытаскивай их из сохраненного json'а

Mike
18.10.2018
16:18:11
Работа на нем
ну так если работа на языке, то думай на языке и используй то, как принято в языке. иначе твой код потом никто не поймет

Denis
18.10.2018
16:19:54
Легче работать с четко определенной схемой
>>> class Tree: ... def __init__(self, data, left, right): ... self.data = data ... self.left = left ... self.right = right ... @classmethod ... def from_dict(cls, data): ... if not isinstance(data, dict): ... return data ... return cls(data['data'], cls.from_dict(data['left']), cls.from_dict(data['right'])) ... def __str__(self): ... return f'{self.data}, <{self.left}, {self.right}>' ... >>> print(Tree.from_dict({'data': 1, 'left': {'data': 2, 'left': None, 'right': None}, 'right': {'data': 3, 'left': None, 'right': None}})) 1, <2, <None, None>, 3, <None, None>>

Никита
18.10.2018
16:21:13
Видимо тут ничего не поделать и придется делать все через дикты

Роман
18.10.2018
16:22:31
Видимо тут ничего не поделать и придется делать все через дикты
Готового решения нет, но есть подозрение, что не с той стороны пытаешь подойти

Vaderoff
18.10.2018
16:43:18
for address, dirs, files in self._dir: ValueError: not enough values to unpack (expected 3, got 1) В чем проблема?

Kobe
18.10.2018
16:45:15
В коде)

Denis
18.10.2018
16:45:19
В self._dir не то, что ты хочешь

Страница 6774 из 9768