
Aragaer
20.09.2016
09:07:25
ну ... не совсем
в перле и баше в одиночных кавычках не происходит подстановка переменных

Sergey
20.09.2016
09:08:03
мы про перл?

Мерлин
20.09.2016
09:09:16

Google

Fox.rs
20.09.2016
09:27:21

Мерлин
20.09.2016
09:27:34

Denis 災 nobody
20.09.2016
10:57:59
кто может подсказать, что за куйня происходит...
есть строка с диктом
[x] Received '{"status": "Available", "name": "remote_65", "busy_delay_time": 10, "no_answer_delay_time": 10, "_name": "\\u0422\\u0435\\u0441\\u0442 123",...
норм. Но если вывести в скрипте aa['_name'] то падает с эксепшеном
собсно, какого хрена и как лечить
эксепшен вида
UnicodeEncodeError: 'ascii' codec can't encode characters in position 47-54: ordinal not in range(128)

Cykooz
20.09.2016
11:03:53
Какой питон?

Denis 災 nobody
20.09.2016
11:04:08
2
2.7 вроде

Олег
20.09.2016
11:04:41
Может потому что строка, а не дикт?)

Cykooz
20.09.2016
11:04:49
Строка у тебя не с диктом, а с JSON-ом

Artem
20.09.2016
11:05:10
aa('_name').encode('utf-8') ?

Cykooz
20.09.2016
11:05:27
Ну и вероятно что то не так с настройками кодировок в консоли

Denis 災 nobody
20.09.2016
11:05:28
»> print codecs.utf_8_encode(d["_name"])
('\xd0\xa2\xd0\xb5\xd1\x81\xd1\x82 123', 8)
а если так?

Google

Denis 災 nobody
20.09.2016
11:05:47

Dan
20.09.2016
11:06:05
первой строкой файла
# -*- coding: utf-8 -*-

Сергей
20.09.2016
11:06:21
Как уменьшить свою тупость

Artem
20.09.2016
11:06:43
stupidity--;

Cykooz
20.09.2016
11:06:49
Значит проблема с кодировкой консоли вообще раз print ломается на выводе юникода

Denis 災 nobody
20.09.2016
11:06:59

Сергей
20.09.2016
11:07:05
в питоне же нет инкремента/декремента

Evgen
20.09.2016
11:07:29

Denis 災 nobody
20.09.2016
11:07:30

Evgen
20.09.2016
11:07:35

Сергей
20.09.2016
11:07:38
надо по-другому. К тому же я не знаю, в какой переменной она лежит

Denis 災 nobody
20.09.2016
11:07:59
»> d={"_name": u"\u0422\u0435\u0441\u0442 123"}
»> print d["_name"]
Тест 123

Сергей
20.09.2016
11:08:00
но она занимает больше всего места в памяти

Cykooz
20.09.2016
11:08:02
Ну вот туда и надо наверное копать - почему вывод в лог хочет юникод конвертнуть в ascii
Лог какой? Обычный питоновский файловый лог?

Сергей
20.09.2016
11:08:39
как транспорт у вебсокетов поменять? поллинг этот ваш

Anton
20.09.2016
11:08:39

Evgen
20.09.2016
11:08:57

Anton
20.09.2016
11:09:07
сокеты через что на клиенте?

Google

Сергей
20.09.2016
11:09:40
сокет.ио
никаких параметров не указывал
по умолчанию поллит

Cykooz
20.09.2016
11:10:31

Artem
20.09.2016
11:11:51

Сергей
20.09.2016
11:12:21
что за тараканы у тебя на плечах

Artem
20.09.2016
11:12:58

[Anonymous]
20.09.2016
11:13:40

Costel Salanders
20.09.2016
11:15:13
Есть два словаря...
Нужно оставить в обоих только одинаковые ключи

Artem
20.09.2016
11:15:36
пересечение множеств.

Costel Salanders
20.09.2016
11:17:17
комбинаторику в шараге проходили

Costel Salanders
20.09.2016
11:18:50
Так стопец
мне их тащемта не надо объединять

Artem
20.09.2016
11:19:05
keys = set(dictionary1.keys()).intersection(dictionary2.keys())
вот так у тебя будут все ключи

Costel Salanders
20.09.2016
11:19:33

Artem
20.09.2016
11:19:55
в смысле, ключи пересечения.
а потом бежишь по ключам циклои и смотришь.

Sergey
20.09.2016
11:20:09
.keys необязателен

Artem
20.09.2016
11:21:07
result = {}
for key in keys:
result[key] = dictionary1.get(key, None) or dictionary2.get(key, None)
или что-то в этом роде

Google

Artem
20.09.2016
11:22:06
None необязателен
:)

Sergey
20.09.2016
11:22:44

Jonathan ?
20.09.2016
11:24:38
http://ideone.com/W9rWH0
Что ему надо?
requests.exceptions.SSLError: hostname 'cbr.ru' doesn't match 'www.cbr.ru'

Admin
ERROR: S client not available

Aragaer
20.09.2016
11:25:14
dictionary1.get(key, dictionary2.get(key, None))

Evgen
20.09.2016
11:26:49

Jonathan ?
20.09.2016
11:27:05
Лол, какая разница, c www или без?

Evgen
20.09.2016
11:27:07
отправь запрос на www.cbr.ru

Sergey
20.09.2016
11:27:36

Bro
20.09.2016
11:39:55
тернарный: x if (condition) else y

Valerii
20.09.2016
11:50:18
Привет!
Можно глупый вопрос:
key, val = line.split()
key, val = int(key), int(val)
— как сделать одной строчкой
?

Bro
20.09.2016
11:50:51
key, val = map(int, line.split())

Sergey
20.09.2016
11:52:02
сплит 1 на всякий случай

Google

Denis 災 nobody
20.09.2016
11:56:26

Cykooz
20.09.2016
11:57:41
Запили функцию force_dict_utf8(), которая будет проходится по всему дикту и все юникоды в нём переводить в utf-8

Bro
20.09.2016
11:58:24
а что ты хочешь?
repr(any_dict).decode(‘unicode_escape’)
если хочешь поля на русском чтобы были текстом

Cykooz
20.09.2016
12:00:47
И вообще не понятно - зачем в логи передавать dict? Передавай туда JSON.

Aragaer
20.09.2016
12:19:10
ты строчку покажи
или нет, кусок кода сразу

Whore Amazing
20.09.2016
12:23:53
да я уже пофиксил
обнаружил, что индентация была к for, а мне надо к if'у внутри него
добавил 4 пробела - все заработало
видимо, какой-то питоний ангел мне помогает

Bro
20.09.2016
12:25:24
линтеры используй
pylint
flake8
тогда таких тупняков не будет

Игорь
20.09.2016
12:27:22
А как писать на питоне без пайлинта?

Aragaer
20.09.2016
12:27:42
очень правильный совет, лишнее в нем только слово питон
линтеры надо использовать вааще всегда, когда можно

Игорь
20.09.2016
12:28:56
увы не всегда получается
например, cheetah даже не представляю как подружить с линтингом

Bro
20.09.2016
12:29:43
vim/emacs