Anonymous
есть
Anonymous
1. dumps серилизует в строку
Anonymous
2. посмотри как работают декораторы
Anonymous
вообще муть какую ты написал иди книжки читай, даже объяснять не охота
Anonymous
def jsonify(func): print(json.dumps(func())) @jsonify def article(): return {"title": "Python for dummies"}
Ruslan
Покажи строку импорта json'a
Ruslan
А файл как называется?
Ruslan
переименуй
Ruslan
decor_demo это новое название? или другой файл?
Ruslan
Не нравится ему твой текст
Ruslan
А
Ruslan
Вот оно что: твоя обернутая функция, ничего не возвращает, соответственно json пытается сделать дамп None
Ruslan
Потому что возможно ты принтишь объекты ошибок
Ruslan
Возвращай результат из функции, на руби тоже нужно так делать
Anonymous
import grequests with open("C:\\path\\urls.txt") as werewolves: array = [row.strip() for row in werewolves] params = {'a':'b', 'c':'d'} rs = [grequests.post(u, data=params) for u in array] for r in grequests.imap(rs, size=16) print(r.status_code, r.url) Все довольно просто, импортируется библиотека, открывается файл на чтение, создается список, переменной params присваивается значения a:b, c:d.
Anonymous
для чего params там я не понял, я прост с деревни
Anonymous
может кто подсказать?ъ
Ruslan
Сейчас ничего не пиши, но внимательно читай
Ruslan
def simple_decorator(func): print(func)Вот это у тебя не декоратор. Вернее это может использоваться как декоратор, но он сразу же вызывается. Твой скрипт вообще не должен ничего печатать.
Ruslan
Вот это правильно: def simple_decorator(func): def wrapper(): print(func()) return wrapperДекорирующая функция возвращает декорируемую функцию интерпретатору
Ruslan
Далее ты можешь использовать декорируемую функцию в любом учатске кода: article()Что приведет к вызову того самого wrapper
Ruslan
По сути код @simple_decorator def article(): print("String `Hellow Molly! This is me Louse..` is not JSON")Говорит интерпретатору "эй, чувак, при вызове этой функции пропусти ее через simple_decorator"
Ruslan
Да, кстати обрати внимание, print работает только со stdout, он не передаст никак текст Hellow Molly! This is me Louse.. тебе в json декодер
Ruslan
поэтому ты должен ВЕРНУТЬ строку, причем строка должна быть в формате json: @simple_decorator def article(): return "{'is_json': 'Hellow Molly! This is me Louse..'}"
Ruslan
Так же тебе необходимо объект (а это будет словарь, когда json конвертирует строку) вернуть из wrapper: def to_dict(func): def wrapper(): _func_result = func() return json.loads(_func_result) return wrapper
Ruslan
Вот этот код не должен ничего напечатать тебе в консоль: import json def to_dict(func): def wrapper(): _func_result = func() return json.loads(_func_result) return wrapper @to_dict def article(): return '{"is_json": "Hellow Molly! This is me Louse.."}'
Ruslan
Потому что результат вычислений нужно вызывать явно где-нибудь в своем коде, например: import json def to_dict(func): def wrapper(): _func_result = func() return json.loads(_func_result) return wrapper @to_dict def article(): return '{"is_json": "Hellow Molly! This is me Louse.."}' _data = article() print(_data)
Ruslan
На этом все. Но на заметку: попробуй с сообщества @ru_python_beginners
Ruslan
А название поменял файла?
Vladimir
подскажите плз, у меня в переменной значение при выводе через print выводится как b'МОЕЗНАЧЕНИЕ' как с этим работать, что погуглить? мне нужно по сути это значение без лишних кавычек и b. Насколько я понял это байтовая переменная..
Vladimir
как успехи?
Vladimir
может кто-нибудь обьяснить в чем отличие: dict[key] и dict.get(key)?
Nickolai
Vladimir
dict.get(key[, default]) - возвращает значение ключа, но если его нет, не бросает исключение, а возвращает default (по умолчанию None)
Vladimir
спасибо!
adel
Подскажите, пожалуйста, библиотеку для работы с проводником Windows.
Anonymous
Добрый день, пишу парсер под яндекс, получаю отвует такого вида
Anonymous
https://passport.yandex.ru/auth/social/start?retpath=https%3A%2F%2Fyandex.ru%2Fpeople%3Flr%3D10%26ps_age%3D1987%26ps_network%3D5%26p%3D3%26ps_geo%3D%25D0%259E%25D1%2580%25D0%25B5%25D0%25BB%26ncrnd%3D97069&reqid=1516699160574026-550064249098050447290395-vla1-2435-p3&origin=serp_desktop_auth_new&provider=2&consumer=serp&display=page&place=fragment //ok.ru/profile/453967362767 //ok.ru/profile/453967362767
Anonymous
как мне извлечь только ссылки с ок
Vladimir
хм
Anonymous
использую такое
Anonymous
for link in soup.find_all('a', href=True): print(link['href'])
adel
нашел?
Нет. Если бы нашел, то не спрашивал здесь.
Andrey
Всем доброго времени суток
Andrey
Кто хорошо знает multiprocessing, subproccess подскажите пожалуйста. Суть следующая: Мне необходимо запустить 3 службы с одного скрипта. Каждой службе необходимо передать параметры командной строки. И все бы ничего, проблема в том, что появляются 3 левых дочерних процесса непонятно для чего, которые в случае завершения запущенного через subprocccess.popen процесса не умирают. Пример: скрипт запускает 3 службы, 1 завершает работу. Остается зомбак с именем родительского процесса. Почему может быть так?
Andrey
Andrey
Кирилл
Join потом close?
Кирилл
3 левых процесса это как раз те процессы которые ты порождаешь
Andrey
А 30845, 30846 и 30847(который завершился)?
Andrey
Должно быть 3 дочерних а не 6, ну или 2(1 завершился), но не 5.
Anonymous
Привет,бояре)
Anonymous
Дрючу дручу свои нервы
Anonymous
А установить PyQt не могу
Anonymous
Что делать?
Кирилл
@terehinAV ты форкаешь 3 процесса, которые в свою очередь запускают ещё 3 процесса, так? Из за того что управляющий процесс тот из который порождает первые 3 не джойнит эти процессы они теряются, ждут завершения твоего главного процесса
Кирилл
Становятся зомби
Andrey
@zzeloff спасибо за разъяснение
Anonymous
Всем привет! Хочу написать бота, который бы из разных приватных чатов и каналов telegram автоматом фордвардил мессаги в одну группу, где я админ. Кто-нибудь сталкивался с подобоной задачей? Бразы помогите, горю!
adel
Он должен быть администратором, ты знаешь?
Anonymous
Кнопка форвард есть на любом канале. Отслеживаю ее по .
Anonymous
Ивенту, и ставлю на автомат
Anonymous
Вот тут народ рекомендовал клиентское апи заюзать
Matwey
Господа, а кто что знает про SWIG?
Matwey
Кнопка форвард есть на любом канале. Отслеживаю ее по .
Бот по умолчанию видит только сообщения которые направлены только ему. Чтобы читать весь чат без админских прав - нужно притворяться что ты клиентское приложение.
Matwey
где можно подробней узнать о клиентских приложениях? не секу, не моя сфера..
На сайте Телеграма, очевидно. Ноне знаю, отдают ли в Телеграме клиентский API просто так, без регистрации.
Anonymous
Вас понял, принято! Спасибо!
Andrey
пользуюсь этой либой, асинхронная, пока все нравится https://pythondigest.ru/view/8198/
Anton
Ребят, а как вы либы из node_modules в джангу добавляете? :|
Anton
Типа я подтянул зависимости из корневой директории
Anton
Ии эээ.. что дальше?( Или надо было сразу в директорию статики node_modules добавлять?
Anton
Через gulp после сборки перекладывать, наверно.
Nickolai
а у тебя сбора бандла локально или на сервере?
Anton
В этом случае на сервере
Anton
Локально докер, на сервере его выкинуть пришлось
Nickolai
обычно все зависимоти описывают в package.json и на сервере его устанавливают, а потом командой вызываешь сборку своего бандла и копируешь, где он тебе нужен
Anton
Типа npm install - подятнул; осталось собрать