@propython

Страница 154 из 228
Aquinary
20.03.2018
12:04:42
Какое будущее ждёт наш ЯП?

Мысли опытных и бывалых?

xPushkin
20.03.2018
12:04:50
Asyncio
Продолжите мысль?

Google
Aidar
20.03.2018
12:05:22
Продолжите мысль?
ну вы предложили мультипроцессинг, я предложил сделать это асинхронно

Aquinary
20.03.2018
12:05:40
xPushkin
20.03.2018
12:07:43
web уйдёт?
Думаю не совсем

ну вы предложили мультипроцессинг, я предложил сделать это асинхронно
Могу сегодня вечером сделать бенч asyncio vs multiprocessing на скачивание файлов. Если интересно.

xPushkin
20.03.2018
12:11:32
Aidar
20.03.2018
12:12:13
если хочешь макс профит нужно юзать hardware concurency количество потоков(у вас процессов) и в каждом много скачиваний асинхронно

но это даст какойто профит если ваша сеть сильно больше тянет чем дает сервер

тут 3 точки тормозов - скорость отдачи сервера, канал приема клиента и процессор

против первого - увеличивать количество одновременных скачиваний, против последнего - разбить на процессы

против второго ничего не поможет

Philipp
20.03.2018
16:01:30
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 ( Помогите разобраться



Google
Philipp
20.03.2018
16:01:30
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
20.03.2018
19:34:57
Хотя это относится к анализу, как понимаю, самому тоже интересно стало

Mikekekeke
21.03.2018
09:03:54


Aquinary
21.03.2018
11:44:10
Разучивают такую вещь, как декораторы

Сек



Ну и понятное дело повторять одно и тоже каждый раз муторно и не DRY



Isamu ꧁꧂
21.03.2018
11:58:15
Почитай про очереди

Aquinary
21.03.2018
12:00:10
Почитай про очереди
Сложно представить, как это можно применить к моей ситуаци) Пока слеп

Isamu ꧁꧂
21.03.2018
12:02:03
Кладёшь задание на отправку в очередь. Достаёшь оттуда, пытаешься отправить. Когда получаешь ответ от сервера что все ок - уведомляешь очередь что это сообщение обработано

Aquinary
21.03.2018
12:02:26
Как понимаю, это тоже можно задекорировать?

И это более правильный подход нежели while try except?

Aquinary
21.03.2018
12:06:33
Хорошо. Благодарю. Хотел узнать об одном и ещё доп. инфы подчерпнул)

Isamu ꧁꧂
21.03.2018
13:24:51
Это не совсем цифры

https://stackoverflow.com/questions/5074803/retrieving-parameters-from-a-url

xPushkin
21.03.2018
13:26:25
x[-n:] Где n длина с конца

Весь урл который ты скинул

Google
Aquinary
21.03.2018
13:28:25
text = 'https://zen.yandex.ru/media-api/publication-view-stat?publicationId=5aabdfb8a815f13d161aaa67' print (text.split('=')[1]) Вот мой корявый вариант)

xPushkin
21.03.2018
13:28:36
x = "https://zen.yandex.ru/media-api/publication-view-stat?publicationId=5aabdfb8a815f13d161aaa67" print(x[-24:])

Pavel
21.03.2018
13:28:41
https://docs.python.org/2/library/urlparse.html

Не?

Aquinary
21.03.2018
13:29:46
И тебе надо вытащить 5aa8ba4f9b403c50c355e94c?

Pavel
21.03.2018
13:29:49
Это часть пути, попробуй ссылку мою

xPushkin
21.03.2018
13:30:21
Это часть пути, попробуй ссылку мою
Скидывайте на третий питон.

Pavel
21.03.2018
13:30:28
Оке

V
21.03.2018
13:31:26
подскажите как бы мне проще всего из питона 3.4.5 выполнить команду в шелл и забрать в переменную вывод stdout?

subprocess читаю сейчас, может есть лучше варианты?

xPushkin
21.03.2018
13:31:40
https://docs.python.org/2/library/urlparse.html
Вы мне напомнаете фронтенд разработчиков: "Написать в одну строчку или импортнуть целую библиотеку? Конечно же импортнуть" ?

Pavel
21.03.2018
13:32:28
Хз, я не против использования встроенных библиотек. Если бы требовалось что-то ставить через pip, то уже другое дело

Isamu ꧁꧂
21.03.2018
13:35:54
V
21.03.2018
13:36:12
V
21.03.2018
13:45:13
subprocess.call([...], shell=True)
чтото не пашет, выдает бред

messages_qty = subprocess.call(["echo 1"], shell=True)

а выдает 0

Google
xPushkin
21.03.2018
13:46:17
V
21.03.2018
13:46:26
ааа....

блин, все равно 0

xPushkin
21.03.2018
13:47:59
блин, все равно 0
Это return code. Вам нужно читать stdout?

V
21.03.2018
13:48:32
xPushkin
21.03.2018
13:49:10
Попробуйте subprocess.check_output(["echo", "1"])

V
21.03.2018
13:52:29
Попробуйте subprocess.check_output(["echo", "1"])
да, выводит только ответ в байтах

когда я делаю str(var) выдает b'1\n'

xPushkin
21.03.2018
13:55:34
subprocess.check_output([...]).decode("utf-8")

V
21.03.2018
13:57:40
это действительно самый простой вариант?

еще в конце поставил .strip() чтобы не было никаких переносов строки

xPushkin
21.03.2018
13:59:17
это действительно самый простой вариант?
Можно без decode если check_output([...], universal_newlines=True) Вот самый простой способ

Aquinary
21.03.2018
14:59:22
Как понимаю, хранить, к примеру, токены для доступа постинга в соц. сети в config.py не очень правильно. Например, перед заливкой на гит придётся чистить эти строчки. Как выйти из такого положения?

Aquinary
21.03.2018
15:01:16
надо написать скрипт который тебе перед отправкой на git затирает токен а потом восстанавливает обратно
Звучит сложно. Я вот не придумал ничего лучше, кроме как использовать access.py и добавить его в гитигнор

V
21.03.2018
15:01:33
делаешь vi upload.sh и в нем mv config.py .. && git push .

Страница 154 из 228