Aidar
но это даст какойто профит если ваша сеть сильно больше тянет чем дает сервер
Aidar
тут 3 точки тормозов - скорость отдачи сервера, канал приема клиента и процессор
Aidar
против первого - увеличивать количество одновременных скачиваний, против последнего - разбить на процессы
Aidar
против второго ничего не поможет
Filipp
Python 3.6 Pandas 0.20.3 Bokeh 0.12.14 Есть df, из него сделан pivot_table, причем с MultiIndex (подробности на скрине ниже) Хочу сделать vbar stacked по каждой дате, вывести X = дата из start_date_of_trial_access высота столбца= значения для каждого status_id (new_lead, DNC, и.т.д) При наведении на график вывести показатели по responsible_user_id_x и кол-ву Пробовал много чего, как я понял все упираеться в правильной передачи значения source = ColumnDataSource(data=bok) для датафрейма с мультииндексом. К сожалению смог найти решение только для Boke 0.11.0 ( Помогите разобраться
Filipp
status_idp.head()
Filipp
source = ColumnDataSource(data=status_idp) p = figure(title="status_id",x_axis_type="datetime", plot_width=900, plot_height=400, tools=TOOLS, toolbar_location='below') p.vbar(x=status_idp.index, bottom=0, top=status_idp.new_lead, width=1, color='red', legend='new_lead') show(p)
Aquinary
Хотя это относится к анализу, как понимаю, самому тоже интересно стало
Mikekekeke
Добрый день. Подскажите, почему в данном случае находится совпадение?
Aquinary
Разучивают такую вещь, как декораторы
Aquinary
Сек
Aquinary
Таких функций несколько. На картинки, видео, документы и т.д. Цикл нужен, чтобы отправить сообщение, если не удалось с первого раза (иногда сервера отдают недоступность сервера или что-то вроде того)
Aquinary
Ну и понятное дело повторять одно и тоже каждый раз муторно и не DRY
Aquinary
Как понимаю, будет правильным вынести цикл в декоратор и писать что-то в подобном стиле?
Aquinary
Почитай про очереди
Сложно представить, как это можно применить к моей ситуаци) Пока слеп
Isamu ꧁꧂
Кладёшь задание на отправку в очередь. Достаёшь оттуда, пытаешься отправить. Когда получаешь ответ от сервера что все ок - уведомляешь очередь что это сообщение обработано
Aquinary
Как понимаю, это тоже можно задекорировать?
Aquinary
И это более правильный подход нежели while try except?
Aquinary
Хорошо. Благодарю. Хотел узнать об одном и ещё доп. инфы подчерпнул)
Isamu ꧁꧂
Это не совсем цифры
Isamu ꧁꧂
https://stackoverflow.com/questions/5074803/retrieving-parameters-from-a-url
Chebyrash
x[-n:] Где n длина с конца
Chebyrash
Весь урл который ты скинул
Aquinary
text = 'https://zen.yandex.ru/media-api/publication-view-stat?publicationId=5aabdfb8a815f13d161aaa67' print (text.split('=')[1]) Вот мой корявый вариант)
Chebyrash
x = "https://zen.yandex.ru/media-api/publication-view-stat?publicationId=5aabdfb8a815f13d161aaa67" print(x[-24:])
P
https://docs.python.org/2/library/urlparse.html
P
Не?
Aquinary
И тебе надо вытащить 5aa8ba4f9b403c50c355e94c?
P
Это часть пути, попробуй ссылку мою
Chebyrash
Это часть пути, попробуй ссылку мою
Скидывайте на третий питон.
P
Оке
Vladimir
подскажите как бы мне проще всего из питона 3.4.5 выполнить команду в шелл и забрать в переменную вывод stdout?
Vladimir
subprocess читаю сейчас, может есть лучше варианты?
Chebyrash
https://docs.python.org/2/library/urlparse.html
Вы мне напомнаете фронтенд разработчиков: "Написать в одну строчку или импортнуть целую библиотеку? Конечно же импортнуть" 😅
P
Хз, я не против использования встроенных библиотек. Если бы требовалось что-то ставить через pip, то уже другое дело
Chebyrash
Хз, я не против использования встроенных библиотек. Если бы требовалось что-то ставить через pip, то уже другое дело
Тоже, но иногда можно обойтись просто синтаксисом языка как например в этом случае.
Isamu ꧁꧂
Vladimir
subprocess.call([...], shell=True)
чтото не пашет, выдает бред
Vladimir
messages_qty = subprocess.call(["echo 1"], shell=True)
Vladimir
а выдает 0
Vladimir
ааа....
Vladimir
блин, все равно 0
Chebyrash
блин, все равно 0
Это return code. Вам нужно читать stdout?
Chebyrash
Попробуйте subprocess.check_output(["echo", "1"])
Vladimir
Попробуйте subprocess.check_output(["echo", "1"])
да, выводит только ответ в байтах
Vladimir
когда я делаю str(var) выдает b'1\n'
Chebyrash
subprocess.check_output([...]).decode("utf-8")
Vladimir
это действительно самый простой вариант?
Vladimir
еще в конце поставил .strip() чтобы не было никаких переносов строки
Chebyrash
это действительно самый простой вариант?
Можно без decode если check_output([...], universal_newlines=True) Вот самый простой способ
Aquinary
Как понимаю, хранить, к примеру, токены для доступа постинга в соц. сети в config.py не очень правильно. Например, перед заливкой на гит придётся чистить эти строчки. Как выйти из такого положения?
Aquinary
надо написать скрипт который тебе перед отправкой на git затирает токен а потом восстанавливает обратно
Звучит сложно. Я вот не придумал ничего лучше, кроме как использовать access.py и добавить его в гитигнор
Vladimir
делаешь vi upload.sh и в нем mv config.py .. && git push .
Vladimir
добавить туда и порядок
Aquinary
Угу. Но вариант со скриптоп тоже надо проверить, ибо если мы не будем грузить access.py, то будет ругаться на импорт и придётся дополнительно объяснять, что нужно поправить Гит может вместо одного файла пушить другой файл с другой папки с таким же названием?
Nikita
Aquinary
Благодарствую)
Isamu ꧁꧂
Хочу завести переменную в памяти, которая будет держать объекты лишь некоторое количество времени (я знаю что можно положить в бд, но мне эти данные не нужны, в ОЗУ самое то), есть какие-нибудь готовые решения?
P
memcached?
P
sqlite в памяти, как вариант
P
в общем вариантов хватает, всё упирается в пожелания
Isamu ꧁꧂
memcached?
Вроде неплохо, но хотелось бы в рамках одного скрипта все это завести
Isamu ꧁꧂
P
и он нативно это поддерживает