
?? Eugene
22.08.2018
17:26:29

Чистилище
22.08.2018
17:26:54

Denis
22.08.2018
17:26:55
преобразую словарь в json
а почему элементы словаря добавляются в json в рандомном порядке, а не как в коде написаны?
def save_json(data,filaname):
with io.open(Fuploads + str(filaname)+'.json', 'w', encoding='utf8') as outfile:
prepared_data = json.dumps(data, indent=4, sort_keys=True, separators=(',', ': '), ensure_ascii=False)
outfile.write(str(prepared_data))
Должны быть по алфавиту

Чистилище
22.08.2018
17:27:11
я ща в отдельный текстовик закину и попробую забросить в греп + cut

Google

Denis
22.08.2018
17:27:21

?? Eugene
22.08.2018
17:27:25

Denis
22.08.2018
17:27:35

Nikolay
22.08.2018
17:33:25
keys_sort

Бензофуран
22.08.2018
17:34:02

Влад
22.08.2018
17:39:53
преобразую словарь в json
а почему элементы словаря добавляются в json в рандомном порядке, а не как в коде написаны?
def save_json(data,filaname):
with io.open(Fuploads + str(filaname)+'.json', 'w', encoding='utf8') as outfile:
prepared_data = json.dumps(data, indent=4, sort_keys=True, separators=(',', ': '), ensure_ascii=False)
outfile.write(str(prepared_data))
Словари у json-структуры не должны хранить какой-либо порядок. То, что питоновский словарь сохраняет порядок (начиная с 3.6) - особенность питоновского словаря.

Nikolay
22.08.2018
17:40:37
можешь по одному объекту писать в файл
с сохранением порядка
80

Чистилище
22.08.2018
17:41:17

Бензофуран
22.08.2018
17:41:22
Есть вот такая функция:
https://pastebin.com/kviz2tca
Во время запуска происходит вот такая хрень:
DEBUG:root: temp type: <class 'set'>
DEBUG:root: temp lenght: 1
DEBUG:root: results lenght: 5001
from 2000000006 collected 133908 messages
DEBUG:root: temp type: <class 'set'>
DEBUG:root: temp lenght: 1
DEBUG:root: results lenght: 5001
from 2000000040 collected 537253 messages
Почему там set и как сделать что бы не ругалось и складывало сообщения в results?

Google

Чистилище
22.08.2018
17:41:41
Есть input тег с айдишником и атрибутом value с значением, нужно value значение получить

Nikolay
22.08.2018
17:42:16

?? Eugene
22.08.2018
17:42:17
ну ты кинь часть кода, посмотрим

Бензофуран
22.08.2018
17:43:46
Что ж ты натворил, чертила

?? Eugene
22.08.2018
17:43:53
не весь же, зачем простыню-то

Бензофуран
22.08.2018
17:43:55
Залил бы на пастбин лучше

Чистилище
22.08.2018
17:44:26

Nikolay
22.08.2018
17:45:05

Чистилище
22.08.2018
17:45:35
ух, отлично

Nikolay
22.08.2018
17:45:39
1биток

Чистилище
22.08.2018
17:45:47
а как в питон перевести это?
а, стоп

Denis
22.08.2018
17:46:06
А если в другом порядке

Чистилище
22.08.2018
17:46:07
это не то)
https://pastebin.com/D0GYRHq0
<input name="orderid" type="hidden" value="379830" />

Nikolay
22.08.2018
17:47:13

Чистилище
22.08.2018
17:47:35
перепутал , значит, name
извиняй

Google

Nikolay
22.08.2018
17:47:50
inputю

Бензофуран
22.08.2018
17:49:13
это што
Это описание проблемы с просьбой помочь в решении

Nikolay
22.08.2018
17:53:23
я не пользовался логерами, у меня принты
??
ротацию не забудь

Бензофуран
22.08.2018
17:54:32

Nikolay
22.08.2018
17:56:07
откуда я знаю, что функция async возвразщает
неплохо

Denis
22.08.2018
17:59:03

BLVCK
22.08.2018
18:14:15
привет всем

Adam
22.08.2018
18:15:14

Бензофуран
22.08.2018
18:26:18

Tigran
22.08.2018
19:39:49
Давайте вброшу простую задачку.
Как бы вы написали функцию minmax(i: Iterable), возвращающую тупл (min(i), max(i))?

Aragaer
22.08.2018
19:41:57
итерабл имеет много элементов?
вобщем я бы сделал просто в лоб циклом

Admin
ERROR: S client not available

Google

?
22.08.2018
19:44:29
Такая хуйня случилась, пытаюсь повторить запрос на создание тикета через питон, нихуя не происходит, обидно. Вспомнил, что как-то давно встречал такую статью, отправляем GET запрос на сайт, получает страницу, потом как-то получает поля заполняем их и отправляем саму страницу на обработку.

Aragaer
22.08.2018
19:44:37
а дальше может быть соптимизировал до какого-нибудь редьюса
def minmax(i):
m1, m2 = next(i)
for m in i:
if m1 < m:
m1 = m
if m2 > m:
m2 = m
return m1, m2
ну или там наоборот m2, m1
очевидно, что два ифа взаимоисключающие, поэтому можно склеить
if m1 < m:
m1, m2 = m, m2
elif m2 > m:
m1, m2 = m1, m

Danil
22.08.2018
19:48:27
я бы рекурсусом сделаль

Aragaer
22.08.2018
19:49:09
и тут уже m1, m2 = (m if m1 < m else m1), (m if m2 > m else m2)
а вот такое уже можно в reduce

Bogdan
22.08.2018
19:49:41
Закинуть в список, отсортировать и вернуть 1 и последний элемент

Aragaer
22.08.2018
19:50:02
ну кстати можно и m1, m2 = max(m, m1), min(m, m2)

Danil
22.08.2018
19:51:59

Aragaer
22.08.2018
19:52:37
сортировка сильно медленнее
можно сделать за 1 проход

Bogdan
22.08.2018
19:52:54

Danil
22.08.2018
19:53:24
а ты это входным тестам расскажи

Bogdan
22.08.2018
19:53:41
Сказал просто, чтобы не повторять предыдущие варианты)

Aragaer
22.08.2018
19:54:26
а чот вот вспомнил
если это числа, причем целые положительные вроде, то можно заюзать сортировку через сине-зеленые деревья

Danil
22.08.2018
19:55:48
а если там

Google

Danil
22.08.2018
19:55:49
[]
?
или отрицательные?

Ivan
22.08.2018
19:56:25
Вопрос:
почему можно написать так d = {1:1, '1':2}, но не так d2 = dict(**d) - там можно, а тут уже только string ему подавай

Aragaer
22.08.2018
19:56:31
то тогда оно не применимо
а, не