Двач.hk не отвечает.
Вы видите копию треда, сохраненную 29 мая 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
2 1164620
предлагаю вконце каждого треда подводить общее резюме и подписывать им предыдущий тред в шапке текущего
3 1164635
Анон, объясни мне subprocess. Я пока хочу только вызвать стандартную cmd шинды, очистить ее экран и написать "Hello\nIt's me\nMario". \n понятно новые строки. Как это сделать? Пробовал subprocess.run(["cmd", "cls", "echo Hello", "echo It'sme", "echo Mario"]), пробовал a=subprocess.Popen("cmd", stdin=subprocess.PIPE), a.write(то же самое). Ничего не работает, ничего не понимаю.
4 1164666
>>64635
За cmd ничего не скажу, но так как ты делаешь нельзя делать. Надо (на примере баша):

bash -c 'clear; echo Hello; echo Itsme'

чтобы он жрал скрипт из stdin:

bash -

Эти интерпретаторы принимают в cmdline параметрах имя файла со скриптом:

bash script.sh

Всё в общем-то очень похоже на запуск бинарника питона.
5 1164670
>>64635
result = subprocess.check_output("ls -a", shell=True)
попробуй
6 1164675
>>64620
оп чмо, даже мой няшный сайтик для зелени не хочет в шапку вставлять, чую бунт нахуй

следующий треад будет НАШ сука!

так что собирай подборку годноты в гудрайв братишка, а я оформлю и создам

https://docs.google.com/document/d/1_tdwh9HR5j2aZ1CNg1YR9dwiEl5kvC1ZP1zHy933A14/edit

https://sites.google.com/view/pypry/
7 1164681
>>64675
да ладно, зато питон смешной
8 1164686
>>64666
Точно, спасибо.
>>64670
Не, не хочет.

Теперь время ещё более тупых вопросов. Вот смотри, какую абсолютно бесполезную программу я сделал, пока осваиваю субпроцессы эти: https://repl.it/repls/FuzzyAlphanumericAgents
Ничего сложного вроде - главная программа получает слова и отдает их пакетами по 3 штуки дочерним программам, чтобы они печатали. Но, субпроцессы нужны, как я понял, чтобы делать охуенно быстрые программы. И вот одна программа, которая бы просто печатала все, что получает, выводила бы любой текст мгновенно (ну не так, чтобы прямо любой, но любой, который не лень мне набрать руками в командную строку). Эта же программа с использованием субпроцессов выводит строки (как минимум на моем пк) с заметной задержкой. Не пару секунд, доли секунд, но заметно, что строки появляются не мгновенно. Вопрос, как так?
а ещё, как вам программа упаковки по 3 штуки? Я выкупаю, что можно сделать 3 слайса и zip()'нуть их, но тогда надо будет как-то разбираться с остатком в случае, если предметов в iterable не N*3, и генератора не получится
кстати в repl.it есть командая строка? мне надоело исправлять программы, чтобы поделиться ими с вами
9 1164757
>>64686

>как так?


Ну а что ты ожидал? У тебя там с нуля запускаются отдельные процессы, который только выводят хелловорлд и сразу дохнут. Вывести хелловорлд десять раз быстрее из одного процесса.

Ерунду сделал в разбиении по 3. Можно короче и проще.
10 1164765
>>64686

>Но, субпроцессы нужны, как я понял, чтобы делать охуенно быстрые программы.


Вообще никакого отношения к производительности субпроцессы не имеют. Откуда ты это выдумал вообще?

>Вопрос, как так?


Во-первых, что в твоём понимании "мгновенно"? Во-вторых, почему они должны быть быстрее? И, главное, быстрее чего? Твойему коду нужно запустить новый процесс, передать туда какие-то данные, пдождать обработки и потом их получить назад. Это никак не будет мгновенно. Через subprocess ты можешь запускать что угодно, даже аллаха, никакая магия мгновенным ничего не сделает.

>кстати в repl.it есть командая строка?


Она там на полэкрана, ты что, линзы снял?

>а ещё, как вам программа упаковки по 3 штуки?


Тебе честно или мягко? yield iterable[i:i+3] и всё. И пофиг, что там может быт не кратно 3, слайсит нормально. Зачем тебе вообще эти None'ы, ты же их не используешь никак. В крайнем случаем можно накостылять yield (iterable[i:i+3] + [None, None, None])[:3].
11 1164778
12 1164782
>>64765

>Вообще никакого отношения к производительности субпроцессы не имеют. Откуда ты это выдумал вообще?



В книге написано: "With the advent of multicore processors as the norm rather than the exception,
it is more tempting and more practical than ever before to want to spread
the processing load so as to get the most out of all the available cores."
Схуяли это будет tempting, more practical и get most of all cores, если это не быстрее нихуя? Зачем вообще они тогда нужны?

>Во-первых, что в твоём понимании "мгновенно"


Последовательно достаточно быстро, чтобы для меня выглядело так, будто это мгновенно.

>И, главное, быстрее чего?


Быстрее той же программы, написанной без субпроцессов. Если я выкину субпроцесс и сделаю for in packages... : print() Строки будут появляться так быстро, что я не замечу разницы между появлением первой и последней - будет выглядеть так, будто они появились все вместе разом. При использовании субпроцесса я замечаю остановки между появлениями строк.

>Она там на полэкрана


На полэкрана там интерактивный Питон, а я хочу делать: python script.py args

>Тебе честно или мягко?


Бля. А None'ы нужны чтобы сохранять структуру - пакет по 3 штуки в каждом.
13 1164791
>>64782

>а я хочу делать: python script.py args


Тогда иди арендуй VPS'ку.

>Быстрее той же программы, написанной без субпроцессов.


>если это не быстрее нихуя


Ты понимаешь разницу между "использовать все ядра" и "зделоть быстрее"? Особенно вот это вот выданное тобой "охуенно быстрые"
Создание процесса затратно. И твоя никчёмнейшая задача по выводу трёх слов вообще практически никакого времени не занимает относительно всего того, что ОС должна сделать для создания нового процесса.
Вот если бы ты там протеины считал, то да, вышло бы приблизительно в кол-во ядер раз быстрее.

>А None'ы нужны чтобы сохранять структуру - пакет по 3 штуки в каждом.


Добавь один раз в конец список из (3 - len(iterable) % 3) % 3 None'ов и слайси по-человечески. Ну, число, которого не хватает до кратности трём, короче, может я тут намудрил немного с формулойю

>Если я выкину субпроцесс и сделаю for in packages... : print() Строки будут появляться так быстро


Ну, а что быстрее, по-твоему, нарезать батон хлеба самому, или приглашать на каждый новый ломтик нового шеф-повара, пускай и позвонив им всем одновременно?
14 1164795
>>64782

>А None'ы нужны чтобы сохранять структуру - пакет по 3 штуки в каждом.


Только ты эту структуру сохраняешь для того, чтобы потом иметь дополнительное условие при выводе текста и писать 0 байт при отсутствии слова. Немного бесплезно, не находишь?

дополнение
15 1164821
>>64791

>Ты понимаешь разницу между "использовать все ядра" и "зделоть быстрее"?


Нет, пока понятия вообще не имею о том, что и как процессор делает. Хочу потом прочитать Архитектуру Тенненбаума, но потом..
Пока я вижу это как мужика, который копает мне яму. И если я позову второго, они вдвоем выкопают ее в два раза быстрее.

>И твоя никчёмнейшая


Понял, т.е. новые процессы нужны только тогда, когда их работа будет длиться дольше их самих? А насколько затратно плодить треды?
16 1164850
имет смысл да. если у тебя в паралельном процессе уже запущена програма и крутится рантайм который слушает инпуты от операционки. а как это сделать я пока сам не знаю. подозреваю что через порты. например 80 порт отвественен за http запрос. то есть паралельный процесс надо настроить на какой то порт а в питоновском скрипте кидать сериализованные данные на этот порт а выход запоминать в переменную и рассериализовывать данные обратно
17 1164887
>>64821

>А насколько затратно плодить треды?


Давай я тебе аналогию приведу хорошую. Вот браузер долго запускается. Зато страницы потом скроллятся быстро с большим фпс. Вот то же самое и с тредами/процессами.

Когда-то давно когда трава ещё была зелёная на веб-серверах был CGI. На каждую открытую страницу запускался целый процесс, который отрисовывал всё в stdout и завершался. Потом, внезапно, оказалось что такой сервер очень легко положить просто отправив ему например 50000 запросов. Уж очень много времени уходит на запуск, чтение с диска, парсинг, интерпретацию, прогрев инициализации и подчистку мусора.

Потом как грибы после дождя полезли всякие FastCGI и ему подобные протоколы, которые запускают пул процессов, например десяток, приконнекчивают к ним очереди и наливают в эти очереди запросы. Процессы остаются те же, читать с диска экзешки и скрипты каждый раз не надо, выполняется только полезная работа, правда организовать такой пайплайн сложнее.

Дальше подумали что вот как-то неправильно это, что процесс ждёт например базу данных, когда можно посчитать что-нибудь для других клиентов. Или какой-то медленный клиент очень долго заливает запрос, всё стоит не шевелится, а тысячи других ждут. Вот тут уже закатывается асинхронность. Асинхронные процессы точно так же спавнят в нескольких экземплярах (обычно равно количеству ядер процессора) и они максимально используют возможности процессора обслуживая сразу одновременно всех, и быстрых, и медленных, и там где что-то ждётся долго извне, при этом могут принимать новые подключения. Соответственно сложность организации такого кода ещё выше чем в простом пуле процессов.

Как можешь видеть, здесь есть tradeoff, надо выбрать либо скорость и удобство разработки (чтобы попроще), либо оптимальность (так будет трудозатратнее). Ситуация ещё нивелируется тем, что даже если ты пишешь например на джанге, то ты всё равно используешь асинхронность, например разворачивая джангу под nginx. В итоге nginx накапливает медленные запросы и джанге уже ждать ничего не надо, она просто хуярит циклом приходящие в готовом виде запросы и выплёвывает ответы. Сама джанга обычно под gunicorn/uwsgi которые делают пул процессов этой джанги и предотвращается CGI. Как видишь, кучу проблем за тебя уже решили, и даже последний долбоёб уже сможет поднять на джанге вполне сносно работающий сайт.
17 1164887
>>64821

>А насколько затратно плодить треды?


Давай я тебе аналогию приведу хорошую. Вот браузер долго запускается. Зато страницы потом скроллятся быстро с большим фпс. Вот то же самое и с тредами/процессами.

Когда-то давно когда трава ещё была зелёная на веб-серверах был CGI. На каждую открытую страницу запускался целый процесс, который отрисовывал всё в stdout и завершался. Потом, внезапно, оказалось что такой сервер очень легко положить просто отправив ему например 50000 запросов. Уж очень много времени уходит на запуск, чтение с диска, парсинг, интерпретацию, прогрев инициализации и подчистку мусора.

Потом как грибы после дождя полезли всякие FastCGI и ему подобные протоколы, которые запускают пул процессов, например десяток, приконнекчивают к ним очереди и наливают в эти очереди запросы. Процессы остаются те же, читать с диска экзешки и скрипты каждый раз не надо, выполняется только полезная работа, правда организовать такой пайплайн сложнее.

Дальше подумали что вот как-то неправильно это, что процесс ждёт например базу данных, когда можно посчитать что-нибудь для других клиентов. Или какой-то медленный клиент очень долго заливает запрос, всё стоит не шевелится, а тысячи других ждут. Вот тут уже закатывается асинхронность. Асинхронные процессы точно так же спавнят в нескольких экземплярах (обычно равно количеству ядер процессора) и они максимально используют возможности процессора обслуживая сразу одновременно всех, и быстрых, и медленных, и там где что-то ждётся долго извне, при этом могут принимать новые подключения. Соответственно сложность организации такого кода ещё выше чем в простом пуле процессов.

Как можешь видеть, здесь есть tradeoff, надо выбрать либо скорость и удобство разработки (чтобы попроще), либо оптимальность (так будет трудозатратнее). Ситуация ещё нивелируется тем, что даже если ты пишешь например на джанге, то ты всё равно используешь асинхронность, например разворачивая джангу под nginx. В итоге nginx накапливает медленные запросы и джанге уже ждать ничего не надо, она просто хуярит циклом приходящие в готовом виде запросы и выплёвывает ответы. Сама джанга обычно под gunicorn/uwsgi которые делают пул процессов этой джанги и предотвращается CGI. Как видишь, кучу проблем за тебя уже решили, и даже последний долбоёб уже сможет поднять на джанге вполне сносно работающий сайт.
 .png263 Кб, 736x736
18 1164893
>>64614 (OP)
Почему у питона на оппике полоска спермы во рту?
image.png63 Кб, 1022x339
20 1164929
Почему кодировка и ошибки - unexpected argument? Вон же они, прямо в документации.
21 1164932
Посоветуйте пожалуйста годной литры по программированию и алгоритмам
22 1164938
>>64929
Ещё вопросик
Я правильно понимаю, что дочерний процесс, получающий данные от главного через Popen.communicate(data) не продолжит выполнение, пока главный не вызовет Popen.stdin.close()? А главный остановится на получении данных из Popen.communicate() пока дочерний процесс не завершится? Или как это работает?
23 1164940
>>64929
Не тот пифон?
24 1164952
>>64821

>Нет, пока понятия вообще не имею о том, что и как процессор делает.


Для простоты считай, что несколько ядер = несколько процессоров. Ты можешь выполнять параллельно несколько задач, но каждая из них сама по себе быстрее работать не будет. Прирост в скорости идёт только за счёт параллельности (т.е. только для всей программы в целом, а не какой-то одной функции).

>А насколько затратно плодить треды?


Ну, менее затратно, чем процессы. Очень примерные цифры можно замерить попробовать - https://repl.it/repls/ConsiderableUnwrittenLists

>И если я позову второго, они вдвоем выкопают ее в два раза быстрее.


Если яма достаточно большая, чтобы её, во-первых, можно было не мешая друг другу копать с разных сторон (один процесс не зависит от результатов другого), а во-вторых, длительнсоть выдачи тобой им инструментов и средст защиты (ты-то один, запускаешь процессы всё равно последовательно) значительно меньше, чем собственно их работа, то да, примерно в два раза быстрее и будет.

>когда их работа будет длиться дольше их самих


Либо когда тебе зачем-то нужна параллельность на многопрессорных системах.
26 1165045
>>65041
Проверь настройки подсветки в инспекции. Там можно указывать совместимость с разными версиями и оставь только 3.6
27 1165327
я один что ли вкатываюсь? почему никто другой тупые вопросы не задает?
Я могу хранить строки в set() мне нужно вытащить все уникальные имена из файла кроме как в виде (string, ) ?
28 1165332
>>65327
byte? unicode для >= 2.7 ещё
29 1165343
Перекатываюсь из шапротреда.
Хочу написать простенькую приложуху на киви, для андройда.
Вопрос.
Как в питоне отделается модуль от представления, по аналогу с паттерном MVVM?
Или никто такой хуйней не заморачивается?
30 1165348
Кто умеет на хорошем уровне работать с pyinstaller?
31 1165366
>>65327

>почему никто другой тупые вопросы не задает


Да тут весь тред тупых вопросов.

>Я могу хранить строки в set() кроме как в виде (string, ) ?


Переформулируй свой вопрос. Чем тебя смущает хранение строки в виде, эм, строк?
32 1165371
>>65332
Так последовательность байтов это тоже последовательность и set() разобьет ее на элементы.

>>65366
Меня смущает хранение строк в виде кортежей с единственным элементом.
33 1165404
>>65371

>хранение строк в виде кортежей с единственным элементом.



А что и такое бывает в этом вашем питоне?
image.png4 Кб, 297x134
34 1165411
35 1165412
>>64614 (OP)
че думаете по поводу "Программирование на Python 4-e издание"?
36 1165430
>>65371

>Меня смущает хранение строк в виде кортежей с единственным элементом.


Гарантирую, что каржет из одной строки имеет только уникальные строки. Зачем ты это в сет пихаешь? Если ты хочешь оставить только уникальные строки из какого-то списка, то и пихай этот список в сет. Иначе ты хуйню какую-то творишь.
37 1165431
>>65430

>каржет


кортеж, конечно же.
38 1165435
>>65348
Разве никто не пилит независимые исполняемые файлы? Чзх?
39 1165440
>>65430

>Гарантирую, что каржет из одной строки имеет только уникальные строки.


Ну, да... уникальную 1 строку из которой он и состоит.

>Если ты хочешь


Я хочу получить все теги из xml файла. И делал сразу создание сета / добавление тегов в него. Но со списком проще, но и места наверное больше будет забирать до превращение в сет.
40 1165446
>>65440

> И делал сразу создание сета / добавление тегов в него.


Покажи свой код, короче.
Чем тебя, например,

>s = set()


>for tag in tags:


> s.add(tag)


>l = list(s)


не устраивает? На выходе получаешь список из уникальных тегов. И не нужно никаких туплов непонятных. Зачем тебе он вообще понадобился? Потому что ты написал set(string) и оно по буквам разбилось?
41 1165451
>>65446
Забыл про .add, делал .update и получал разбивку по буквам, поэтому приходилось делать .update(tupe()). Спасибо.
42 1165452
>>65440

>Но со списком проще, но и места наверное больше будет забирать до превращение в сет.


Тебе жалко память? На микроконтроллере тостера вычисляешь, что ли?

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

дополнение
43 1165465
>>65412
Лучшая книга эва
image.png67 Кб, 957x424
44 1165482
Как так-то? Почему второй вариант быстрее первого? Ведь в первом используется генератор т.е. все вычисляется на лету и сразу используется join'ом, а во втором сначала в память складывается целый список, а потом только работает join. И почему третий вариант быстрее первых двух? Ещё в прошлом треде кто-то из анонов кинул ссыль на статью, где говорили: map() и прочие ненужны, list/generator comprehension работают как охуенный синтаксический сахар.
image.png51 Кб, 744x475
45 1165489
>>65482
Ну вот я сделал немного похожие функции. Так же есть функция с выражением-генератором (я думал, самая быстрая), есть с выражением-листом (я думал, вторая по скорости будет, и есть третья, вроде как есть первая (первая а не вторая т.к. не создает дополнительных листов) без синтаксического сахара. А в итоге все вообще не так, как я думал. Где я ошибаюсь?
46 1165520
Вкатываюсь в питон, уже начал читать книги с закрепа. Вопросы:
Можно ли не ебаться с cmd для запуска?
Можно ли скачать какую нибудь ide, чтобы по f9 запускалась прога в консольке?
Есть какая нибудь замена пай > чарму? она у мння пиздец лагает
GUovbDCd6vk.jpg109 Кб, 1280x720
47 1165555
Пишу йоба-бота для игры. Нужно имитировать поворот камеры мышей. Как это сделОть?
48 1165582
>>65520

>Можно ли скачать какую нибудь ide, чтобы по f9 запускалась прога в консольке?


в саблайме если поебаться с билдом, можно так сделать, скорее всего

>Есть какая нибудь замена пай > чарму? она у мння пиздец лагает


wing ide или саблайм с плагином "анаконда"
49 1165585
Двощик, чёт я запутался с направлением.
Сначала думал в data science податься, но не совсем понимал что это такое гадание на кофейной гуще, графики, а с программированием как-то мало общего, да и с нуля джуном точно хуй куда возьмут.

А как же другие направления python? Что, неужто только web?
50 1165622
>>65465
Я только начал вкатываться в python, до этого дрочили паскалем в школе. Показалось легким, решил взяться за питон. Выбрал книжку, но че-то только первые 2 главы осилил, по мне нудноватая немного.
51 1165632
>>65622
а ты как хотел?
я когда учил то тоже засыпал. По мне чем лучше книга тем больше от неё засыпаешь.
52 1165636
>>65632
Ну, я просто думал, если мне нудно - значит мне не интересно, я тащемта еще попробую осилить книгу, если совсем скучно будет, то прекращу попытки вкатывания в it
53 1165637
>>65636
ну ёптваю)
54 1165647
>>64614 (OP)
Почему я должен выбрать Питон, а не Го, например?
55 1165653
>>65632
Двачую. Сон - часть процесса обработки новой информации мозгом.
56 1165660
>>65653
Да. Можно привести пример как обкуренный Кастанеда засыпал на берегу оросительной канавы, когда начинал видеть необъяснимые вещи, а Дон Хуан его будил.
57 1165663
Так, поцыки: пишу бота для телеги, бот, принимая команду от юзера, должен запускать функцию, которая делает некоторые вещи.

Звучит легко, ну запустил и запустил, но основной скрипт, который вечно чекает новый запросы стопорится, пока вызванная функция не закончит свою работу.

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

Сама функция принимает два аргумента, обязательных. Как сиё извращение реализовать? Двач, помогай.
58 1165665
>>65663
Поздравляю, пришло время узнать, что такое асинхронные запросы
59 1165668
>>65465

>эв


Кто такой? Читаю Programming in Python Саммерфилда, потом собираюсь Лутца.
60 1165670
>>65668
я вот сейчас Лутца читаю, но я как понял, он вообще для тех, кто раньше с программированием не сталкивался
61 1165671
>>65668
алсо, под "эва", он имел ввиду слово "ever", мол самая лучшая книга
62 1165672
>>65660
В отличие от компа у воспринимаемой человеком информации есть такой параметр, как ценность.
Комп не может отбросить данные посчитав их малоценными. Т.е. может не обрабатывать данные выходящие за пределы условий задачи, но он не обладает самостоятельным критерием плохих или хороших данных.
Комп - идеальный вычислитель, а человек - это работающая биологическая задача, запущенная на аналоговой вычислительной машине. У человека есть критерий ценности данных.
Мозг глубоко перерабатывает только ценную для него информаци. Все таки астральные галюны Кастанеды не были ценными для его мозга, а засыпал он от наркотического опьянения.

мимо аутист
63 1165701
Хелпуйте дебила. В книжке упражнение, мол запустить сохраненный сценарий из командной строки(казалось, куда проще), но у меня не получается.
C:\Users\User\AppData\Local\Programs\Python\Python36 - полный адрес. Я пытаюсь ввести его в строке так:
C:\Users\User\AppData\Local\Programs\Python\Python36 script1.py , но у меня выдает это: "C:\Users\User\AppData\Local\Programs\Python" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
64 1165708
>>65701
Ставь прыщи в виртуалбокс - не сношай мозг. В ghsof[ быстрее поймешь, что такое executable path
65 1165715
Если в списке надо, например, 3 подряд идущих элемента заменить на одно и то же число, можно это сделать более элегантно, чем
list6, list6[i+1], list6[i+2] = 5, 5, 5 ?
66 1165720
>>65715
somelist[i:i+3] = itertools.repeat(5, 3)
67 1165729
>>65715
list6[i:i+3] = (5,)*3
68 1165730
>>65371

>>> a = 'you'.encode('utf-8')


>>> a


b'you'

>>> b = 'faggot'.encode('utf-8')


>>> b


b'faggot'

>>> set([a,b,b,a, b'sasat', 'faggot'])


{b'faggot', b'you', 'faggot', b'sasat'}

>>> set(a)


{121, 117, 111}
14383503240210.png323 Кб, 537x529
69 1165769
>>65327
В set() можно хранить объекты любого иммутабельного класса (на самом деле нужно чтобы у класса был определён __hash__(), но это неважно).
str в питоне - иммутабельный тип.
(str, ) - тоже иммутабельный. Но зачем, если можно просто str?
70 1165783
Подскажите самую нормальную книгу на английском, или пару книг, по питону. Там в каталоге питона все они указаны, что есть на рутрекере. Что качать и начинать изучать? https://rutracker.org/forum/viewtopic.php?t=3693656
tails.jpg98 Кб, 640x479
71 1165789
>>65783
Если не ньюфаг в погромировании - достаточно навернуть 'Byte of Python', а дальше начать писать какой-нибудь пет-прожект, читать офф. доки и гуглить возникающие вопросы.
Если ньюфаг или хочешь таки навернуть толстую книжку с разжевыванием - то "Mark Lutz - Learning Python".

Вообще для варианта "не ньюфаг" есть ещё вариант - офф. туториал:
https://docs.python.org/3/tutorial/
Но его я не смотрел, не знаю насколько годный ли он, пусть анончки подскажут.
72 1165793
>>65789
Как, ты тутор от Гвидо не смотрел!!!!1111
HmtCb4E.jpg77 Кб, 650x477
73 1165809
Посоны, пишу скрипт который запускает 10-20 субпроцессов ffmpeg (просто правлю теги, т.е. -metadata), ну и перед этим ffprobe.
Есть смысл параллелить их с помощью asyncio.subprocess или последовательно они будут выполняться примерно так же быстро?
polyregressguigtkagg.png36 Кб, 606x427
74 1165810
Здравствуйте, подскажите, пожалуйста, вот есть полиномиальная регрессия в sklearn, которая строит предсказывающую кривую по данным точкам как на картинке.

А есть ли библиотеки, которые эту полиномиальную регрессию распараллеливают?

Задача следующая, для университета я должен распараллелить или с помощью нескольких потоков выполнить вот эту полиномиальную регрессию для нескольких сотен точек.
76 1165823
>>65810
1) смотришь алгоритм в вики
2) реализуешь без параллелизации самостоятельно
3) используя модуль muliprocessing (multithreading не имеет смысл использовать, он ограничен GILом) парадлелишь матричные операции
77 1165824
>>65822
О, прикольно, спасибо большое, пока не разобрался, но выглядит очень обнадеживающе, вроде, пишут, что таки можно прямо sklearn код параллельно выполнить.
78 1165825
>>65823

>реализуешь без параллелизации самостоятельно


Не, я сам - кусок говна и получится закономерное гумно. Поэтому я только чужой код использую.
79 1165828
>>65822
>>65824

>параллельно выполнить


Ой, простите, я описался, многопоточно выполнить
80 1165830
>>65828
>>65825
У тебя есть прекрасный шанс это исправить, пока ты учишься в вузике. Вот на реальной работе уже используй способ с стековерфлоу выше.
81 1165833
>>65809
Субпроцессы и так уже параллельны. Ну, если только ты там не наговнокодил с subprocess.call или wait() в лупе, конечно.
82 1165838
>>65830
Так я дремучий подпивасный быдлос, ясен пень, что никакие нейронные сети и машинное обучение мне не светит. Просто я заканчиваю бакалавриват и доделываю дипломную работу.
proxy.duckduckgo.com.jpeg139 Кб, 1216x746
83 1165848
Посоветуте книгу для "аппер интермидиэйта+", в которой не объясняются базовый синтаксис и тому подобное, а написано про какие-то интересные фичи питона, чтобы покайфовать от чтения.
84 1165849
>>65848
Пайтон анлокед или флюент пайтон
85 1165858
Бля поясните, что питон делает в вебе?
В смысле, когда вакансии программиста питониста для веба, в требованиях не пишут JS, HTTP, CSS, а пишут конкретные фреймворки типа джанго, фласк, и ещё sql\nosql. Я просто не особо понимаю сути работы. Как вообще работа питониста выглядит, чем он занимается?
86 1165866
>>65809

> 10-20 субпроцессов


Кстати, сколько надо делать субпроцессов? Вот анон выше мне отвечал на мои тупые вопросы, что если решать задачу с субпроцессами, то будет примерно в количество ядер быстрее. Но очевидно есть предел субпроцессам, иначе бы их просто 10000000 на любую задачу запускали бы и она решалась мгновенно. Так какое оптимальное количество субпроцессов? И кстати Питон/ось как догадываются, что субпроцессы должны быть на разных ядрах выполняться?

>>65823

>multithreading не имеет смысл использовать, он ограничен GILом


Зачем в Питон встроена нерабочая фича?

мимодругой
87 1165868
>>64614 (OP)
Если здесь есть совсем ньюфаги, рекомендую периодически заглядывать на Гикбрейнс, там есть халявные курсы, которые даже онлайн смотреть не надо - запись выкладывают потом. А в онлайне можно вопросы позадавать.
Вот, например:
https://geekbrains.ru/courses/112
88 1165887
Ленился год, теперь решился окончательно взяться за питон+джанго+хтмл+цсс. и.т.д.
Знаю какие-то основы, всего понемногу, но вкатиться будет явно легче.
Что я прошу у вас, прошу я годные туториалы/книги/лекции, где будет интересно и инфа будет более-менее рассортирована.
Спасибо.
90 1165902
>>65708
немного не понял что ты имеешь ввиду под "прыщами"(я нюфаг), + я юзаю PyCharm;
91 1165911
>>65902

>я юзаю PyCharm


А я его установить не могу, лол. Инсталлер зависает после выбора папки установки. Ну и черт с ним, Блокнот Два Икса наше все.
92 1165912
>>65911

> Блокнот Два Икса



W A T?
Снимок экрана 2018-03-31 в 20.24.28.png51 Кб, 750x233
93 1165913
питоняни, объясните позязя в этом куске что именно происходит в цикле while 1: ...
и что за синтаксис вообще такой while 1 а не while True?
94 1165915
>>65913
Бесконечный цикл. Почему 1 вместо тру? Дебил считает, что это ахуенная оптимизация, минификация кода...
95 1165916
>>65915
ну вот я запускаю его потом запускаю клиент, клиент шлёт месадж и этот сервер сразу вырубается, не позволяя прислать ему еще меседж. Почему так, а цикл бесконечный.
96 1165921
>>65916

> conn.recv(1024)



Вот почему
Снимок экрана 2018-03-31 в 20.36.56.png56 Кб, 436x544
97 1165924
>>65921
тут тоже, но он крутится бесконечно
99 1165928
>>65912
Я думаю он имеет в виду Notepad++
100 1165930
>>65924
В этом примере у тебя в цикле иф/елсе, а в том обрабатываешь неправильно выходит. Копипастить надо тоже с умом.
101 1165931
>>65927
Кретина кусок

>>65928
Плюс называет иксом, классический уебок.
102 1165939
>>65930
спасибо
получается
103 1165949
бля какого хуя вылазиит [Errno 48] Address already in use
нихуя непонятно блять
104 1165983
>>65913

>while 1 а не while True?


Хипестор выделиться пытается. В 30-летнем ANSI C нет булеанов и true/false (костыляли просто макросы/дефайны на 1 и 0).
Возможно ещё боится, что какие-то сумасшедшие пользователи второго питона переназначат True в 0 и луп не сработает.

>>65913

>это ахуенная оптимизация


Во втором питоне же действительно оптимизация, лол. https://stackoverflow.com/questions/3815359/while-1-vs-for-whiletrue-why-is-there-a-difference на треть быстрее!

>>65949
Сокеты надо закрывать, потому что.

>>65866

>если решать задачу с субпроцессами, то будет примерно в количество ядер быстрее.


>иначе бы их просто 10000000 на любую задачу запускали бы и она решалась мгновенно.


У тебя с логикой не очень. Откуда ты вот "мгновенно" это взял после фразы о количестве ядер? У компьютера ограничены ресурсы, и максимальная производительность и достигается использованием всех имеющихся ресурсов. Вот по сравнению с однопоточным вычислением, многопоточное и будет максимум в кол-во ядер быстрее.

>Так какое оптимальное количество субпроцессов?


Зависит от задачи, но обычно близко к количеству ядер процессора (если числа, то ровно можно).

>И кстати Питон/ось как догадываются, что субпроцессы должны быть на разных ядрах выполняться?


Не должны. Но если есть свободные ресурсы, нормальная ОС постарается их использовать. https://en.wikipedia.org/wiki/Scheduling_(computing)

>Зачем в Питон встроена нерабочая фича?


Она не нерабочая (ну, условно говоря), просто посчитал Гвида, что так будет лучше.
15225065655880.jpg22 Кб, 249x224
Вопрос по pyqt 105 1165989
Графика в pyqt является же векторной? Всякие там QGraphicsItem'ы, а QSvg является классами для обработки svg не более? Пикчи через pixmap?
106 1165993
>>65983

>если числа, то ровно можно


Если числа дробишь. И нужно.
107 1166036
>>65866

> Зачем в Питон встроена нерабочая фича?


Треды отлично работают с тем кодом, который GIL отпускает: сетевое io, файловое io, системные вызовы, сишные либы (которые по-людски написаны).
108 1166087
Призываются те, кто юзал django-rest-framework. Нужно сериализовать лист кверисетов использовал модуль для построения tree-структуры и вызвал метод показать предков, сейчас сериализатор сделан через ModelSerialize и не обрататывает такое, только кверисеты, пока что вижу только два пути, либо руками переложить все в питоновские дикты в листах и заюзать стандартный джанговский JsonResponse или попробовать сделать хитрый сериализатор, который обрабатывал этот кейс.
109 1166124
>>65931
Говно изо рта вынь.
shit.PNG24 Кб, 494x453
110 1166128
Есть последовательность dict'ов с одинаковыми ключами, нужно преобразовать их в один dict с последовательностями значений по ключу.
В общем как на скрине. Всё работает, но это достаточно "питонистический" способ или можно короче?

Чёт мне часто такую "сцепку" в своём говнокоде приходится делать, наверное стоит создать utils-модуль и создать там функцию chain_dicts_values. Только chain_dicts_values какое-то хуёвое название, но лучше я придумать не могу.

Наверное я хуйнёй заморачиваюсь.
111 1166139
>>66087
Оказывается, что стандартный JSONRenderer из DRF умеет обрабатывать питоновские объекты, так что обошелся ручным формированием запроса и последующим вызовом Response
112 1166148
>>66139
Я дважды тупой, оказывается Сериализаторы просто отдают словарик, если натравить его на объект и руками можно ничего не перекладывать
КОД ПИШИ
@
ДОКУМЕНТАЦИЮ НЕ ЧИТАЙ
113 1166151
Потеребите питончика
image.png90 Кб, 2226x920
114 1166303
Так блэт
Я правильно понимаю, что порты используются только на сервере? Я сначала думал, что интернет работает так: на клиенте и на сервере есть по 2 сокета. Клиентский для отправки серверу, клиентский для получения ответа, серверный для получения ответа, серверный для отправки клиенту ответа. В клиентском для отправки делают .connect() нацеленный на адрес и слушающий порт сервера, клиентский слушающий просто привязан к слушающему порту, серверный слушающий привязан к слушающему порту, а серверный для отправки создается нацеленным на адрес и слушающий порт клиента после получения реквеста ебать написал. Но. Но. Но. Я правильно понимаю, что все эта хуйня и работает на самом деле так, как я охуенно нарисовал? Порты задействованы только у сервера, и сервер их слушает. У клиента же только 1 сокет, который тот нацеливает на адрес, слушающий порт сервера. А после .connect() клиента .accept() сервера возвращает этот же клиентский сокет. И мне не нужен ни адрес клиента, ни его порт т.к. получить клиентский сокет это почти тоже самое, что получить object reference на объект в рамках одного скрипта? И после этого я могу получать данные от клиента и отправлять ему что захочу и сколько захочу раз используя этот сокет? (в моем рисунке - Ssocket) Это так работает?
Если да, зачем .accept() возвращает адресс, который был дан .connect() методу в клиенте? Какая разница между .connect("", 1488) и .bind("", 1488) для создания слушающего сокета сервера? Какая разница между передачей в эти методы "", "localhost" и socket.gethostname()? Как узнать доступные порты и сделать это динамически? А то я укажу серверу слушающий на 1488 свободный у меня, а у другого пользователя 1488-ой занят чем-то, и все полетит.
115 1166311
>>66303
Этот пиздец читать не буду, но удваиваю реквест о точном понимании портов и прочей лабуды, что анон выше упомянул.
116 1166312
>>66303
>>66311
На википедии всё есть.
117 1166326
>>66312
Хочется, что бы кто-то разжевал и сказал своими словами. Согласись, так лучше.
118 1166331
>>66326
Вряд ли кто-то будет забесплатно разжёвывать такую объёмную тему.
119 1166332
>>66311
порты это интерфейс юникса. что не понятного?
120 1166334
>>66332
так же как и файлы это интрфейс юникса... то есть файл и порт в юниксе по сути одно и тоже
121 1166336
>>66334
Да! Все есть поток байтов
122 1166337
Где можно скачать Python Tricks: A Buffet of Awesome Python Features ?
123 1166338
>>66332
>>66334
Яркий пример того, что это сложная тема и изучать её лучше на википедии англоязычной
124 1166390
>>66331
Так объемно то не нужно. Можно просто разобрать по частям >>66303 написанное и где-то исправить/объяснить.
Screen Shot 2018-04-02 at 02.05.02.png157 Кб, 3830x953
125 1166515
>>66303
Очень грубо и, вероятно, местами неточно, но хоть как-то.
Сокет это сокет, как розетка. В него можно что-то вставить. В данном случае, ты устанавливаешь TCP соединение, вставив TCP провод в сокеты сервера и клиента.
Так как подключается клиент, ему нужно знатЬ, куда, собственно, подключаться. Для этого у сервера и есть адрес + порт, указывающие на, собственно, сервер и конкретный сокет, ожидающий этот тип подключения.

>ебать написал


Нихуя не понятно, что ты написал, так что и ты, наверное, нихуя не понял. Соединение может быть двусторонним.

>Если да, зачем .accept() возвращает адресс, который был дан .connect() методу в клиенте?


Чтобы сервер знал, откуда пришло соединение?

>Какая разница между .connect("", 1488) и .bind("", 1488) для создания слушающего сокета сервера?


Во-первых, connect это, как можно догадаться из названия, подключение к чему-то. Это не создание сокета, и уж тем более не слушающего. В connect ты указываешь удрес удалённого терминала, а в bind — своего.

>А после .connect() клиента .accept() сервера возвращает этот же клиентский сокет. <...> Это так работает?


Хуй знает что ты там понаписал. Нет, не этот же, потому что они на разных, чёрт возьми, машинах находятся. У сервера свой сокент, с локальным и удалённым адресами (laddr, raddr), а клиента свой. Да, возвращённый accept'ом сокет это тот, к которому клиент подключился, у него есть инфа об адресе клинета и прочем.

>И мне не нужен ни адрес клиента, ни его порт


Нужен. И сокет имеет эту информацию. Иначе бы ты нихуя передать не смог.

>Какая разница между передачей в эти методы "", "localhost" и socket.gethostname()?


локалхост это локалхост, то есть исключительно с этого компьютера сокет доступен. gethostname(), ну, hotsname компьютера и возвращает (в гугл иди), а "" биндит на всех интерфейсах, т.е. "0.0.0.0".

>А то я укажу серверу слушающий на 1488 свободный у меня, а у другого пользователя 1488-ой занят чем-то, и все полетит.


На сервере ты указываешь, какой свой порт слушает сервер, и клиент туда подключается. Когда ты заходишь в браузере на yandex.ru, на самом деле браузер просто подключается к адресу "5.255.255.55" в 443 порт.

На клиенте ты можешь использовать любой порт. Обычно система сама выбирает рандомный свободный, но если очень надо, ты сам можешь сначала забиндить на клиенте (клиентом!) сокет и уже с него подклчюаться к серверу.
Screen Shot 2018-04-02 at 02.05.02.png157 Кб, 3830x953
125 1166515
>>66303
Очень грубо и, вероятно, местами неточно, но хоть как-то.
Сокет это сокет, как розетка. В него можно что-то вставить. В данном случае, ты устанавливаешь TCP соединение, вставив TCP провод в сокеты сервера и клиента.
Так как подключается клиент, ему нужно знатЬ, куда, собственно, подключаться. Для этого у сервера и есть адрес + порт, указывающие на, собственно, сервер и конкретный сокет, ожидающий этот тип подключения.

>ебать написал


Нихуя не понятно, что ты написал, так что и ты, наверное, нихуя не понял. Соединение может быть двусторонним.

>Если да, зачем .accept() возвращает адресс, который был дан .connect() методу в клиенте?


Чтобы сервер знал, откуда пришло соединение?

>Какая разница между .connect("", 1488) и .bind("", 1488) для создания слушающего сокета сервера?


Во-первых, connect это, как можно догадаться из названия, подключение к чему-то. Это не создание сокета, и уж тем более не слушающего. В connect ты указываешь удрес удалённого терминала, а в bind — своего.

>А после .connect() клиента .accept() сервера возвращает этот же клиентский сокет. <...> Это так работает?


Хуй знает что ты там понаписал. Нет, не этот же, потому что они на разных, чёрт возьми, машинах находятся. У сервера свой сокент, с локальным и удалённым адресами (laddr, raddr), а клиента свой. Да, возвращённый accept'ом сокет это тот, к которому клиент подключился, у него есть инфа об адресе клинета и прочем.

>И мне не нужен ни адрес клиента, ни его порт


Нужен. И сокет имеет эту информацию. Иначе бы ты нихуя передать не смог.

>Какая разница между передачей в эти методы "", "localhost" и socket.gethostname()?


локалхост это локалхост, то есть исключительно с этого компьютера сокет доступен. gethostname(), ну, hotsname компьютера и возвращает (в гугл иди), а "" биндит на всех интерфейсах, т.е. "0.0.0.0".

>А то я укажу серверу слушающий на 1488 свободный у меня, а у другого пользователя 1488-ой занят чем-то, и все полетит.


На сервере ты указываешь, какой свой порт слушает сервер, и клиент туда подключается. Когда ты заходишь в браузере на yandex.ru, на самом деле браузер просто подключается к адресу "5.255.255.55" в 443 порт.

На клиенте ты можешь использовать любой порт. Обычно система сама выбирает рандомный свободный, но если очень надо, ты сам можешь сначала забиндить на клиенте (клиентом!) сокет и уже с него подклчюаться к серверу.
Screen Shot 2018-04-02 at 02.19.00.png73 Кб, 3824x557
126 1166519
>>66515

>Если да, зачем .accept() возвращает адресс, который был дан .connect() методу в клиенте?


Только сейчас заметил. Нет, он не этот адрес возвращает, а адрес клиента.
127 1166555
>>66390
Без объёмного объяснения это всё бесполезно.
128 1166622
Питонач, посоветуй по MongoDB+python что-нибудь реально годное, пожалуйста.
129 1166652
»1165858
Ну блять, ну дожили. Ты и месяц не изучаешь видимо программирование вообще? Что делает? Ну например хуярит вилкой скрипт или какую либо серверную апку, которую ему сказали сделать, попутно подглядывая в гугл, потом ебёт разметку в хтмл дивах (которые ему позволили ебать) твердостоящим членом, потом обмазывает её ЦСС, всовывает туда все свои формы и всякие левые написанные макаками ДЖСки, дабы не утруждался господин производством ДЖСок. Потом господин снимает app.run(Debug=True) и получает по ебалу ошибки и триппер в придачу. Он пишет тесты и говорит, что костыли это фичи, а пеп8 для дебилов, спустя некоторое время он заебывается, достает всю команду и понимает, что надо было читать про классы и модули, а он криворукое ебло не учел нормальный импорт. Получает кривожопого гомункула, которого отдает дезигнерам и прочим фронтенд гомосексуалистам, они охуевают от скилл-лвла божественного 300к/сек питон девелопера, который месяц вместо работы читал как вообще это сделать, причем на двачах и захуярил все за два часа, причесывают его, одевают в платьице, раскрашивают ему ебало дорогой косметикой и дают девопсу, дабы он заставил это все говно работать, он матерится, брызгает духами на этот полуживой труп, делает ему разряд электрошока с иньекцией адреналина, чтоб хотябы дергался и отправляет на ночь (утром релиз) тимлиду, и пускай с этим всем ебется тимлид, потому что это работа тимлида - доебывать то, что уже изнасиловали остальные. Тимлид утром в полном ахуении и с печатью презрения к коллегам идет к руководителю и нагло-нагло пиздит, что все охуительно-восхитительно и работает как бог работал первые 6 дней, но на стадии финального релиза нужно бы ещё спецов привлечь и вот к финальному релизу вызывают батю фулстака 10 лет опыта чистить вилкой говно за долбоебами круглые сутки, который с помощью магии преобразовывает и рефакторит говно в золото. Магия? Нет. Чистая алхимия.
130 1166655
>>66652
Вы мне денег должны, я вам краткий урок провел на тему -цикл разработки.
131 1166661
>>66655
Чёт в голос. Пиши ещё?
132 1166667
>>64635
насчет винды нескажу, но в unix все проще некуда.
import subprocess

subprocess.call("clear")
subprocess.call(["echo", "-e", "Hello\nI'ts me\nMario"])
133 1166682
>>65465
это на уровне погрешности, но подумай вот у тебя есть сразу список и ты вычеркиваешь или ты вызываешь итерацию по генератору что быстрее? генератор выгоднее в плане экономии памяти.
134 1166684
>>65647
Выбери го.
135 1166799
Поясните за реакт с рест фреймворком.
Я так понял, считается хорошим тоном отдельно пилить реакт приложение от сервера.
Я вот достал что-то из своего апи, которое лежит на pythonanywhere и хочу это там же показать (ну на том же сайте), что нужно делать?
136 1166803
>>66799
Тобой выбрана неправильная дверь.Клуб смузихлебов двумя тредами ниже
15217266531700.jpg34 Кб, 500x422
137 1166857
Линуксогоспода, каким IDE пользуетесь?
138 1166869
>>66857
joe
IDLE
Wing
KdAw3s7DXvs.jpg108 Кб, 864x1080
139 1166872
>>66869
Спасибо
140 1166877
>>66857
EMACS серьёзно
1521714934374.jpg136 Кб, 640x626
141 1166881
>>66877
Так это же редактор.
142 1166937
>>66857
Блокнот два креста, разумеется.
B4Zz7T0YDpA.jpg63 Кб, 700x609
143 1166952
>>66881
Ты ошибаешься, это универсальная IDE.
144 1166956
146 1166991
>>66956
я чуть клаву сёдня из за него не разъебал
147 1166996
>>66857
vim, idle
148 1167017
>>66958

> 2undefined17


Свежо.
149 1167028
Как цивильно прочекать, подаётся на ввод число или нет? 'Isnumeric' ведь возвращает false при числах с запятой.
150 1167047
привет друзья. в каком моменте я проеблася https://repl.it/repls/TrustyIllfatedLaws ? есть коннект с базой wordpress, хочу вывести в таблицу (Все формы в Qt) данные из этой базы. на пике база и вывод, почему то проебались id, term_group, но даже не это беспокоит, а самое главное перескакивает через 1 запись.
15138774421321.gif2 Мб, 274x298
151 1167052
>>64614 (OP)
Захотел я, значит, завести отдельные fail очереди для очередей rq. Немного погуглил и, беглым взглядом, ничего конкретного не нашёл. Насколько я понял, надо завести экспшн хэндлер который, в зависимости от очереди, будет пушить таск в соответствующую fail очередь. Кто-нибудь таким занимался? Есть пример, чтоб не напрягаться особо?
152 1167062
>>67028
Р Е Г У Л Я Р О Ч К И
153 1167069
>>65636
Мне она начала казаться скучной где-то с функций, генераторов, лямбд и областей видимости. Но вот от ООП я кончил.
154 1167073
>>65520
Пишарм нужен только для каких-то крупных проектов. Для обучения хватит какого-нибудь текстового редактора с подсветкой синтаксиса
155 1167074
>>67028
def is_digit(string):
if string.isdigit():
return True
else:
try:
float(string)
return True
except ValueError:
return False
изображение.png9 Кб, 360x218
156 1167076
>>67074
Блять
157 1167078
>>65520
VSCode
2018-04-02-23:20:06-screenshot.png42 Кб, 1041x131
158 1167081
Мне правда нужно осознать, что за срань тут написана сразу после того как я научился запускать модули? Или просто такие моменты всквозь прочитывать и они потом подробнее описываются?
 .JPG15 Кб, 367x327
159 1167082
>>67062
Пасиба, а то вот такой костыль запилил уже, теперь чувствую себя инвалидом.
15201702259100.jpg67 Кб, 640x635
161 1167118
>>67082

>eval пользовательского ввода

162 1167121
Пользуется тут кто атомом как IDE?
163 1167123
>>67082
А ещё камел кейс, читай pep8
164 1167127
>>67081
Здесь главное уяснить, что командовать интерпретатором можно на языке Си, а не только на питоне. Это нужно при написании модулей с требованиями к производительности. Глубже можно не вникать.
kokjs.gif1,5 Мб, 540x230
165 1167128
>>67121
Не пользуйся Атомом, сразу переходи на VSCode.
Говорю как человек который долго терпел Атом, но в итоге таки дропнул это тормозящее говно.
166 1167135
>>67123
Да, забыл.
>>67118
А что не так здесь?
167 1167143
>>67135
Тому что можно ввести os.remove, вообще нельзя выполнять пользовательский ввод, который имеет гипотетическую возможность все похерить, это как неэкранированный drop database; в sql
168 1167147
>>65701

>C:\Users\User\AppData\Local\Programs\Python\Python36 - полный адрес


это не полный адрес
полный адрес вот:

>C:\Users\User\AppData\Local\Programs\Python\Python36\python.exe



и чтобы запустить script.py к нему тоже нужно указать полный путь

а вообще добавь папку Python36 и Python36\Scripts в переменные окружения (загугли как, это просто)
потом ты сможешь запускать python просто введя python в командной строке

можно еще установить переменную окружения PATH через команду:
set PATH=%PATH%;C:\Users\User\AppData\Local\Programs\Python\Python36;C:\Users\User\AppData\Local\Programs\Python\Python36\Scripts
169 1167151
>>65715

>более элегантно


говнорубист, кочуй отсюдова
170 1167153
>>67143
Да уж, ну, буду знать, спасибо.
1859128.png334 Кб, 437x601
171 1167172
Нормальную я смехуечку заебендил?
172 1167177
>>67172
Нет.
173 1167180
>>67177
Да ну, смешно же.
174 1167187
>>67017
прости, что написал тебе аж через 3 дня после того, как новость появилась на официальном сайте
175 1167188

>>> math.fmod(-5, 180)


-5.0

>>> -5 % 180


175

Может кто-то объяснить, пожалуйста?
177 1167194
>>67189
прикольно, спасибо
178 1167221
>>67047

>for (query) in cursor:


> sqlRow = cursor.fetchone()


Что, по-твоему, делает первая строка? Почему там query? Ты query уже заэкзекутил. Подсказка: запринть свой "query" внутри лупа. Алсо, скобки там совсем не нужны, они всё равно абсолютно ничего не делают.
179 1167223
Почему нет Лучано Рамальо? По мне так очень годно.
15208907838240.png763 Кб, 576x764
180 1167237
Пиздец я охуеваю что в треде твориться, два года назад за такое убивали нахуй
181 1167243
>>67118
ну если бетховен-кошельки так делают, то и анончику можно
182 1167282
Анон посоветуй что-нибудь очень годного для вката в mongodb а затем и в pymongo.
183 1167285
>>67282
Хотя наверное следует спросить нужно ли вообще сейчас изучать MongoDB?
184 1167287
>>67285
Чем тебя postgres не устраивает?
185 1167289
>>67287
Ну на данный момент у меня есть т.н. "база" в файле json, и пожалуй логичнее будет ознакомиться с MongoDB.
186 1167291
>>67289
Ну тогда читай статейки и документацию. Разве такая проблема найти материал?
187 1167292
>>67289
Постгре умеет хранить и работать с JSON: https://www.postgresql.org/docs/current/static/functions-json.html
188 1167294
>>67292
Я просто хочу прикрутить какую-нибудь базу к своему приложению, чтобы познакомиться с "БД", прочувствовать, что там и как, но чтобы это к тому же было актуально, а не какая-нибудь забытая забитая технология. Что мне выбрать? Postgres?
189 1167300
>>67294
Да. Реляционные БД со сцены в ближайший десяток лет никуда не уйдут, а постгре - лидер среди опенсорсных реляционных БД.
190 1167313
>>67300
Что такое постгре и зачем?
Хочу вкатиться, думал после 2х книг по самому Питону начать читать про sql
191 1167324
ананас, помоги ньюфагу. Дома завалялась книга Head First Python. Как она, годная, стоить с нее начинать или есть варианты лучше?
192 1167327
>>67324
Ты хоть автора укажи. Таких книг наверняка не одна.
изображение.png97 Кб, 201x250
193 1167330
>>67327
Paul Barry автор. такая обложка

да не знаю, вроде с таким названием одна книга
194 1167332
>>67330
Это Гарри Поттер?
195 1167333
>>67332
kek, да похож
196 1167337
>>67333
Хз, такую не знаю.
Вообще всё зависит от уровня твоего. Если не прогал раньше -- то можно вполне любую(имхо) книгу брать и читать. Пошерсти оглавление, если раньше прогал, и определи, насколько полезна она будет.
197 1167338
>>67337
ок, спасибо
198 1167355
есть ли у объекта clear up перед тем как сборщик мусора его сожрёт?
199 1167364
Как пилить красивые коллажики в питоне?
Какую библиотеку посмотреть?
144476380424.png727 Кб, 900x563
200 1167365
Кортежи в которых есть мутабельные объекты (например (1, [1,2]) - первый элемент иммутабельный, второй нет) являются хэшируемыми или нет? Их можно использовать в качестве ключей словаря?
Чёт я запутался. Для вычисления хэша кортежа используются просто айдишники объектов-элементов (что как-то тупо) или их хэши (а следовательно если есть мутабельный элемент то хэш кортежа вычислить нельзя)?
201 1167367
>>67365

> являются хэшируемыми или нет


нет

> Их можно использовать в качестве ключей словаря?


нет
У листа нет метода hash, он не хэшируется.
Снимок.PNG18 Кб, 742x344
202 1167374
>>67367
Угу, разобрался.
И запомнил то иммутабельный != хэшируемый. По крайней мере в терминах Питона.
203 1167376
>>67374
Нет, как раз таки правильно что иммутабельный == хэшируемый, но нужно чтобы он был полностью рекурсивно иммутабельным.
204 1167377
>>67374
set не иммутабл (frozenset)
и иммутабельный == хэшируемый
a = (1, [1, 2])
a[1].append(10)
205 1167381
>>67128
ну да, VSCode же не тормозящее говно. хз как люди строем подумали, что на электроне получаются пригодные в работе приложения
206 1167415
>>67381
Ну не знаю, мне нравится. Пробовал все, что есть под венду и линукс. Винг вообще не понравился из--за шрифтов
207 1167420
Проясните
Питон это макакство или всё же серьёзны дела?
208 1167421
209 1167428
>>67376
tuple в пайтоне всё же называют иммутабельным типом, не?
>>67377
Речь была о кортежах.
210 1167430
>>67428
tuple иммутабельный. Это значит только то что в tuple ты не можешь что-то добавить, не можешь удалить, не можешь записать по индексу. Но внутри tuple могут быть мутабельные объекты. И вот чтобы всё стало hashable нужно чтобы внутри тоже были иммутабельные.

Ещё раз, вычисление хэша проходит по всей структуре вглубь, не только по значению в вершине.

То что сам по себе тип хэшируемый ещё не гарантирует что все возможные структуры на его основе будут хэшируемыми.
211 1167431
>>67428

>Речь была о кортежах.


>>type(a)


<class 'tuple'>

>tuple в пайтоне всё же называют иммутабельным типом, не?


Да, но только если он не содержит в себе других мутабельных типов.
212 1167436
>>67428

>Речь была о кортежах.


Так в твоём кортеже set есть, вон именно он и не хешируемый.

>tuple в пайтоне всё же называют иммутабельным типом, не?


Он и есть иммутабельный.
Снимок.PNG49 Кб, 679x669
213 1167447
Пишу скрипт который выполняет ряд действий для нескольких файлов (кочает, проверяет хэш и т.д.).
Как хэндлить фейлы? Нужно откатить действия и принтануть инфу об ошибке (для скачивания - урл на котором упало и почему упало, для хеша - просто на чём сфейлилось).

Додумался до схемы на скрине, но блять, использовать Эксепшены для тупого ветвления скрипта это же хуёво, не?
214 1167449
>>67430>>67431>>67436

>Он и есть иммутабельный


>tuple иммутабельный



>иммутабельный == хэшируемый



>на деле tuple хэшируемый не всегда



Вы определитесь, а?
215 1167465
>>67449
Immutale
An object with a fixed value. Immutable objects include numbers, strings and tuples. Such an object cannot be altered. A new object has to be created if a different value has to be stored. They play an important role in places where a constant hash value is needed, for example as a key in a dictionary.
И
The only operation that immutable sequence types generally implement that is not also implemented by mutable sequence types is support for the hash() built-in.
Но
Attempting to hash an immutable sequence that contains unhashable values will result in TypeError

Хули тебе непонятно-то
216 1167469
>>67465
Для меня понятно что

>иммутабельный != хэшируемый

217 1167470
>>67469
В доках не описана ситуация, когды ты изменяешь тюпл через список внутри.
a = (1, [1,2])
identifier = id(a)
a[1].append(10)
id(a) == identifier
True
Он иммутабельный?
218 1167475
>>67313

> Что такое постгре


PostgreSQL
219 1167501
>>67447
Что за IDE?
220 1167504
>>67501
notepad++ судя по кнопкам сбоку
221 1167507
>>67504
Расцветка красивая. В ебучем PyCharm только ссанина одна, а всё вручную лень настраивать.
sage 222 1167574
>>67449
Блядь, какой же ты тугой, иди на хуй.
223 1167576
>>67501
VSCode
224 1167606
>>67504
Не думаю. Если только не плагин какой-то для интерфейса. В ванильном Ноутпаде те же минусные кнопки немного иначе отрисовывают ветвь с отступами.
225 1167617
Сап, анон, помоги нубасу, пожалуйста. https://repl.it/@ABCDeath/UnwittingFrostyLifecycles Вот я написал два класса для чтения/записи содержимого файла, если имя не указано, то хочу, чтобы работало с stdin/stdout без буферизации и желательно с возможностью перенаправления.
Обрати внимание на строки 64 и 65. Если их поменять местами, то всё работает нормально, то есть, в консоли я получаю вот такую байду:

> banana@banana-vm /mnt/vmshared/temp/vm $ python3 stdio.py


> 12345


> size: 5


> banana@banana-vm /mnt/vmshared/temp/vm $


> banana@banana-vm /mnt/vmshared/temp/vm $


> banana@banana-vm /mnt/vmshared/temp/vm $ echo blah-blah-blah


> blah-blah-blah


> banana@banana-vm /mnt/vmshared/temp/vm $



Если же оставить как есть и закрыть сначала in, а потом только out, то всё, терминал распидорашивает:

> banana@banana-vm /mnt/vmshared/temp/vm $ python3 stdio.py


> 12345


> size: 5


> banana@banana-vm /mnt/vmshared/temp/vm $ blah-blah-blah banana@banana-vm /mnt/vmshared/temp/vm $ banana@banana-vm /mnt/vmshared/temp/vm $


То есть, когда я пишу, буквы не появляются в терминале, но на ввод он реагирует, при этом не переносит каретку. Если вызвать какую-нибудь ll, то в её выводе от переноса строки только lf останется, cr куда-то проёбывается. Что я делаю не так? Почему последовательность восстановления атрибутов у потоков влияет на дальнейшее поведение терминала после того, как интерпретатор вернёт управление? Алсо, кажется, что с этими атрибутами и проблема, но я же, по идее, восстанавливаю то состояние, которое раньше было, что не так?

Ещё один вопрос: если я запускаю скрипт с перенаправлением ему в stdin, получаю вот такую херню

> banana@banana-vm /mnt/vmshared/temp/vm $ echo 12345 | python3 stdio.py


Traceback (most recent call last):
File "stdio.py", line 60, in <module>
in_stream = InputStream()
File "stdio.py", line 14, in __init__
self._settings = termios.tcgetattr(self._handle)
termios.error: (25, 'Inappropriate ioctl for device')
Как в таком случае следует работать с stdin? Это всё нет смысла делать, если ввод перенаправлен, но как это понять внутри скрипта?
225 1167617
Сап, анон, помоги нубасу, пожалуйста. https://repl.it/@ABCDeath/UnwittingFrostyLifecycles Вот я написал два класса для чтения/записи содержимого файла, если имя не указано, то хочу, чтобы работало с stdin/stdout без буферизации и желательно с возможностью перенаправления.
Обрати внимание на строки 64 и 65. Если их поменять местами, то всё работает нормально, то есть, в консоли я получаю вот такую байду:

> banana@banana-vm /mnt/vmshared/temp/vm $ python3 stdio.py


> 12345


> size: 5


> banana@banana-vm /mnt/vmshared/temp/vm $


> banana@banana-vm /mnt/vmshared/temp/vm $


> banana@banana-vm /mnt/vmshared/temp/vm $ echo blah-blah-blah


> blah-blah-blah


> banana@banana-vm /mnt/vmshared/temp/vm $



Если же оставить как есть и закрыть сначала in, а потом только out, то всё, терминал распидорашивает:

> banana@banana-vm /mnt/vmshared/temp/vm $ python3 stdio.py


> 12345


> size: 5


> banana@banana-vm /mnt/vmshared/temp/vm $ blah-blah-blah banana@banana-vm /mnt/vmshared/temp/vm $ banana@banana-vm /mnt/vmshared/temp/vm $


То есть, когда я пишу, буквы не появляются в терминале, но на ввод он реагирует, при этом не переносит каретку. Если вызвать какую-нибудь ll, то в её выводе от переноса строки только lf останется, cr куда-то проёбывается. Что я делаю не так? Почему последовательность восстановления атрибутов у потоков влияет на дальнейшее поведение терминала после того, как интерпретатор вернёт управление? Алсо, кажется, что с этими атрибутами и проблема, но я же, по идее, восстанавливаю то состояние, которое раньше было, что не так?

Ещё один вопрос: если я запускаю скрипт с перенаправлением ему в stdin, получаю вот такую херню

> banana@banana-vm /mnt/vmshared/temp/vm $ echo 12345 | python3 stdio.py


Traceback (most recent call last):
File "stdio.py", line 60, in <module>
in_stream = InputStream()
File "stdio.py", line 14, in __init__
self._settings = termios.tcgetattr(self._handle)
termios.error: (25, 'Inappropriate ioctl for device')
Как в таком случае следует работать с stdin? Это всё нет смысла делать, если ввод перенаправлен, но как это понять внутри скрипта?
45433 -1183715987.jpg4 Кб, 105x124
226 1167632
Накидайте годных цветовых тем для spyder3
227 1167652

>>> 180.000000000000028


180.00000000000003
Што с этим делать посоны?
228 1167687
>>67652
А что ты хочешь сделать?
1511176402887.png12 Кб, 650x559
229 1167690
>>66799

>рест фреймворком


Ты че тупой? Тут пацаны с кортежами разобраться не могут, а ты нахуй рест блять какойто, работа блять настоящая. Ебу дал?
230 1167772
>>66799
Ты дергаешь апи с данными на из своего сервера и рендеришь с ними данные на стороне клиента, тут вроде все очевидно
231 1167787
Как учиться продуктивнее? Половину Лутца прочел (недоучился в универе, плюсы учил, так что с программированием знаком, но занесло в админы, сейчас решил квалификацию сменить ибо больше нравится делать код и думать головой, а не ебать сети), вторая уде идет сложнее, но идет, попутно маны курю и смотрю, и для себя что то делаю по мелочи, но хочется прям втянуться, джуном пока не возьмут ибо базы и фреймворки еще изучаю, да и скилл лвла нет почти, и сам язык в процессе изучения, хотя по сравнению с местными некоторыми, чувствую себя эйнштейном. Так вот, на кодварсе 200+ и пятый кью (лол), как на гитхабе пулреквесты принимать и вообще в дело втянуться, чтобы что то полезное делать, а не просто задачи решать? Например делаю бота для вк себе, но мне он в целом нафиг то не вперся, стимула нет, а вот кому то и с кем то чтото делать, это куда интереснее.
232 1167789
>>67787
Причем совсем не вдупляю, как на гитхабе по пихону искать простые и приемлемые мне задачи, там или убер хард для меня повсюду с асинхронностью, которую я в душе еще не ебу или ... или не знаю как искать.
233 1167797
>>67787
Всё полезное уже есть на pypi. Правда толково сделанных пакетов, обновляемых и протестированных немного.
234 1167799
>>67787
Попробуй тестовые задания поделать. Полезно по крайней мере для твоей будущей зарплаты.
236 1167807
>>67805
Чёт только сейчас заметил кучу сисек в этой вебм.
237 1167812
>>67787
Кстати, насколько реально полезно выполнять эти задания на всяких codingame и прочих подобных ресурсах?
238 1167815
>>67812
Ну.с кодварс я например начал чтото понимать. Решаю задачу как умею, разбираю топ ответ, офигеваю, следующие решения уже лучше с учетом предыдущего экспириенса. Плюс сохраняются задачи, если что то можно посмотреть решения или фичи, я например только так вдуплил как в кеях лямбду использовать и генераторы красиво юзать.
239 1167825
>>67447
почему бы не добавить проверки в функцию download, вместо main
и хендлить ScriptError от функции download ?
240 1167837
Анон, как мне узнать, является ли выбранный пользователем файл огурчиком? Я понимаю, что можно try: pickle.load(file) except UnpiclingError: print("NO"). Но есть ли какой-то более простой способ без загрузки всего файла в память?
241 1167839
>>67837
Не могу говорить точно, но посмотри, с чего начинается/чем заканчивается файл, вдруг в этом закономерность есть. Ну и попробуй на досуге сравнить, что быстрее, хендлить исключения или открывать и читать какие-то там строчки из файла.
242 1167840
>>67837
да есть. Можно прочесть header файла
243 1167841
>>67839
И по возможности скинуть сюда результаты тестов. Всем будет полезно для общего развития.
244 1167857
>>64614 (OP)

Я хочу работать программистом-математиком.
Использовал Fortran и Maple
Стоит ли мне изучать Питон? Часто ли его используют для математических задач?
245 1167862
>>67857
да пиздец как стоит. Можешь даже забить на фортран и мапл
тебе хватит питона. Унего ниебически большое научное сообщество. Гугль Анаконду
246 1167864
>>67857
numpy и куча прочих математических библиотек как раз для таких аналитиков как ты! По сути пайтон можно использовать как встроенный в matlab скриптовый язык - те же массивчики с сырыми данными, те же 2-3 строчки для визуализации данных на графике...
247 1167869
>>67862

>Можешь даже забить на фортран и мапл



Это само собой, фортран сейчас без сообщества, а мапл по сути большой калькулятор к которому я привык.
Спасибо!

>>67864

Погоди, то есть такой вопрос:
правильно я понимаю, что матлаб это написанный на питоне язык, который выполняет функции в целом аналогичные маплу и математике вольфрам, а питон это его встроенный алгоритмический язык, потому их и используют вместе?
248 1167870
>>67869
Эмн... нет. matlab - это проприетарный пакет для математиков. Он имеет встроенный язык программирования для проведения научных/математических расчетов.

Пайтон может дать всё то же самое только бесплатно. Например, из того, что делал я сам - получаешь данные из БД, рисуешь на графике кривую по данным и сразу же вторую кривую - скользящую среднюю. Минимальное количество кода - максимум результата. Плюс если использовать jupyter notebook - можно работать с данным гораздо удобнее и нагляднее, вплоть до презентации своего подхода аудитории в реальном времени.
249 1167878
>>67870

Понял, спасибо.

>Минимальное количество кода - максимум результата.



Да, визуально код хорошо выглядит, гораздо более читаемо чем кресты или ява.
250 1167906
Извиняюсь заранее за вопрос уровня дауна. Недавно вкатился и сейчас пытаюсь работать с различными библиотеками и нихуя не могу в понимание документации, даже учитывая что неплохо знаю инглиш пиздец блядь куча какого то говна непонятного понаписано сижу ахуеваю. Как вычленять что тебе нужно и применять на практике? Только гуглить примеры применения всего подряд или есть какой то другой способ? Извиняюсь за формулировку, надеюсь на поинмание.
251 1167911
>>67906
Поставь перед собой задачу и после этого ищи инструменты для нее.
252 1167914
>>67906

>неплохо знаю инглиш


Вот тут значит у тебя ошибка в размышлениях. Гугли все непонятные слова, записывай, заучивай.
мимо другой вкатывальщик, читаю все и документации и книги на английском, который знаю неплохо. никаких проблем
253 1167924
>>67906

Анон, поставь себе конкретную задачу что ты хочешь написать и работай над ней. Для любого современного языка хуева гора примочек. Со всеми разбираться будешь когда на работе будет нехуй делать. Попробуй, например, написать на какую-либо вакансию "ололо дайте тестовое задание" и дадут тебе задание и будешь думать что тебе для него нужно.
дилетант_с_дивана
believer.jpg68 Кб, 312x516
254 1168051
>>67924

>тестовое задание

255 1168055
>>68051

>какой-то хуй без опыта


>не хочет делать тестовое, потому что на желтом форуме сказали, что это зашквар и они украдут его джуниорский код в продакшен


Так можно выебываться только когда ты мидл и выше
256 1168086
>>68051

>боевая картиночка

257 1168110
Анон, я дошел до программ, где у меня первые строк 100-150 это описание классов, функций, хуюнкций, и потом строчек 20 - 40 сама программа. Это нормально, или пора выкидывать это все в MyAwesomeModule.py и пилить отдельный скрипт с import MyAwesomeModule.py ?
258 1168122
>>68055
А когда джун, нашедший работу по знакомству — то даже нужно.
259 1168124
Аноны, а это правда что Питон медленный потому что интерпретатор или это всё наговоры и попытки спихнуть с пути истинного?
260 1168143
>>68124
Не правильный вопрос.
Он не медленный просто на других языках можно написать так что будет в разы быстрее, но чаще всего задача скорости работы не первостепенная, просто нужно чтобы она была в определенных рамках.
261 1168168
>>68143

То есть получается, что писать оптимизированный алгоритм для вычисления какого-либо числа, например где нужно просуммировать ряд из стапятисот дохуя сходящихся функций на нём смысла нет? Почему его позиционируют как средство для математиков и инженеров? Смысл писать сложные численные расчёты на нём?
262 1168178
>>68168
Тебе не нужно писать оптимизированный алгоритм для вычисления какого-либо числа.

> Почему его позиционируют как средство для математиков и инженеров? Смысл писать сложные численные расчёты на нём?


Потому что прост, синтаксис не высер уровня брейнфака и миллиард готовых библиотек под все нужны в говне моченых (следствие, но теперь и причина).

> Питон медленный


Он достаточно быстр для своих задач.

Это все, что тебе нужно знать на твоем уровне развития.
263 1168179
>>68124
>>68168
Платиновая платина треда.

>это правда что Питон медленный потому что интерпретатор


Да.

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


Да. Прототип разве что катнуть.

>Смысл писать сложные численные расчёты на нём?


Сложные? Есть сложные, а есть критические по производительности. В основном это гейдев, где нужно кровь из носа за 10мс нарисовать целый кадр из пикселей. Так вот, критические по производительности — нет смысла. Сложные без разницы, питон разве что будет дольше считать. И то, при сравнении с аналогичными рассчётами на цпу в машинных типах данных (int8, float32, etc). Строковые операции например уже спорно.

>Почему его позиционируют как средство для математиков и инженеров?


Потому что есть много удобных библиотек. И там где нужна скорость всё написано на сишке. В питоне ты просто задания раздаёшь перелопатить вот эти три миллиона чисел вот так.
я-коммичу-в-мастер.png521 Кб, 973x595
264 1168195
265 1168197
аноны, что почитать, чтобы быстро въехать в Django? Djbook/видеокурсы? Если курсы, то какие. Может посоветуете какие-нибудь ресурсы
266 1168231
>>68124
Медленный он потому что динамическое говно. Интерпретатор там не в большей степени, чем в джаве или дотнете — такой же относительно низкоуровневый байткод на стековой машине.

Однако, он не особо и медленный, потому что все перформанс-критикал библиотеки написаны в виде экстеншенов для сипайтона на языке C++, а питончик выступает к ним как бы интерфейсом. Поэтому и никому не нужен этот ваш PyPy — хоть питоновский код на нем и быстрее, экстеншены к нему не прикрутишь.

>>68168

> То есть получается, что писать оптимизированный алгоритм для вычисления какого-либо числа, например где нужно просуммировать ряд из стапятисот дохуя сходящихся функций на нём смысла нет?


Нет, смысла нет. Если для проекта на питончике это нужно и действительно надо быстро, пишется си-экстеншен.

> Почему его позиционируют как средство для математиков и инженеров?


Потому что numpy и scipy написаны в основном на си, а не на питончике, на гитхабе можешь посмотреть и убедиться.
267 1168232
>>68110

> Это нормально, или пора выкидывать это все в MyAwesomeModule.py и пилить отдельный скрипт с import MyAwesomeModule.py ?


На твое усмотрение. Как начнешь этих в классах путаться, а сами они превратятся в спагетти-код, сам так сделаешь, как миленький.
268 1168245
>>68231

>такой же байткод


Авотхуй. В джавах есть JIT, в (си)питоне нет. В питоне почти все опкоды, которые не ходят в стек делают полный лукап по строке.

>на языке C++


Авотхуй, на чистом си. Под modern C++ bindings не так уж давно вообще появилось хоть что-то сносное.

>никому не нужен этот ваш PyPy


Авотхуй, нужен и очень нужен. Но с экстеншенами таки да, плохо, там надо cffi и убирать refcounts.
269 1168289
Все скрипты магическим образом начали выдавать PermissionError: [Errno 13] Permission denied:
при попытке открыть любой файл ( with open(self.filename, "rb") as fin :) без разницы из какой директории, даже с той же где скрипт лежит, даже спецом директорию создал на другом диске и тоже самое выдает, не понимаю что и где сломалось, ведь я ничего не трогал.
270 1168313
Анончик, а подскажи по аналогу на питоне серверных переменных в пехапе. Есть такое? Можно ли получить ip посетителя без анального внедрения кучи библиотек?
271 1168324
>>68289
в Гугле забанили?
image.png28 Кб, 507x437
272 1168331
Что мой саблайм от меня хочет? Как он фэйлит подключение к... самому себе? Ну, на мой собственный пк. В диспетчере задач никакого Питон процесса, выполняющего скрипт, нет, но все работает вроде как.
273 1168333
>>68313
Зависит от протокола, в http, например в заголовках он есть
Untitled.jpg21 Кб, 640x505
274 1168342
Здравствуйте, я туп как пробка, учился на тройки, но поступил в магистратуру, чтобы не сесть на бутылку. У меня следующий косяк - мне задали здание в магистратуре сделать так, чтобы с помощью регрессионных методов машинного обучения я взял точки и соединил их корреляционной линией. Как на приложенной картинке. Я взял sklearn и скормил ему точки, а в ответ он выдал мне требуемую линию. Все счастливы, все довольны.

Но потом меня обоссали и сказали, что регрессионные методы уже давно известны, ты втёр нам старьё, Вася! Делай тоже самое, но только нейронными сетями! БЫСТРА! ОДНА СУТКА ВРЕМЕНИ ТЕБЕ!

ПОЭТОМУ, ПОДСКАЖИТЕ, ПОЖАЛУЙСТА, КНИГУ НА РУССКОМ, ГДЕ ОПИСАН КАКОЙ-НИБУДЬ ФРЕЙМВОРК ИЛИ БИБЛИОТЕКА С НЕЙРОННЫМИ СЕТЯМИ, ЧТОБЫ МОЖНО БЫЛО ЕЙ СКОРМИТЬ ТОЧКИ И ЧТОБЫ НЕЙРОННАЯ СЕТЬ НАРИСОВАЛА КОРРЕЛЯЦИОННУЮ ЛИНИЮ

Прошу книгу на русском, так как осталась одна сутка. Пока ищу, не могу найти. Вроде, задачу регрессии не принято нейронными сетями решать.
275 1168343
>>64614 (OP)
Сап змееусты, небыл тыщу лет. После длительной паузы взялся за изучение постгрескуля, появился вопрос.
Не получается привязать фласк аппликушу к локальной бд, переменная DATABASE_URL пуста. Помохите?
276 1168344
>>64675
Добавь в свой сайт курсы переложение СИКПа на питон еще, он хороший
277 1168345
>>68342
Спросил бы машоб треде, не?
278 1168347
>>68345
Хорошо
279 1168351
Анон, у меня есть класс, наследующий от threading.Thread. Если я в нем определяю всякие функции, чтобы использовать их в run(), их def утверждения будут выполняться при запуске каждого нового треда? Тогда надо объявлять все вне класса, а в нем только __init__ и run()?
280 1168352
Обнаружил, что помню java лучше пайтона, хотя на яве не писал много лет, а питоном обмазываюсь года три уже как. Чего делать?!
281 1168353
>>68352
Понять что плоть слаба? Я тут пытался в пхп, не смог. Вспоминаю пистон и рыдаю ночами, какой он няшный.
282 1168354
>>68353
Ну на яве я много работал в свое время, а пайтон больше для админских автоматизаций сейчас использую. И вот ооп в яве такое простое и понятное, а в пайтоне как-то не очень...
283 1168376
>>68354
почему админишь именно на Питоне? Почему не на баше? Питон хорош для админинга? Что примерно делаешь?
284 1168384
>>68178

>Он достаточно быстр для своих задач.



Ну ты понимаешь как это звучит.
Если мне понадобится быстрый модуль то писать его возможно придётся на чём-то другом. Впрочем, попробую сравнить в ближайшее время.

>>68179

>В питоне ты просто задания раздаёшь перелопатить вот эти три миллиона чисел вот так.



Я понял. В Питоне можно использовать разное число знаков в десятичном представлении числа? ну там 50, 100, 200?

Спасибо.
285 1168407
>>68376
Пайтон удобный очень - куча модулей для работы со всем на свете. Плюс на нем написан ансибл, а т.к. ансибл от релиза к релизу глючный - приходится патчить его исходники под себя немного. В основном же занимаюсь управлением сетевыми устройствами.
286 1168455
>>68354
Крут, я вот вообще в ооп не въехал. Правильно я написал класс, или нет, что откуда наследуется ппц вообще
287 1168463
>>68455
В ВУЗике ООП читали на основе плюсов. В целом концепция была понятна, но вопрос "НАХУЯ ВСЁ ЭТО?!" у меня оставался безответным до серьезного погружения в java. Сейчас, пишу на пайтоне и понимаю, что базовое знание ООП тут нужно разве что для разработки на фляжке/джанго. В остальных случаях оно скорее вредно, потому что реализовано, скорее, для галочки, чем как какая-то фундаментальная парадигма. Возможно, я просто не умею готовить ООП в пайтоне. Но... тут всё равно ведь нет ни интерфейсов, ни полноценного private модификатора видимости...
288 1168501
>>68351

>их def утверждения будут выполняться при запуске каждого нового треда?


Нет. Определение класса обрабатываеся один раз при запуске/импорте модуля. У них у всех общая память.
https://repl.it/repls/PointlessOvercookedKeyboardmacro (если бы def обработался заново, то и список обновился бы.)
290 1168506
>>68384
Ну ещё int имеют неограниченный размер.
291 1168537
Как записать в питоне:

больше 5, но меньше 10?
292 1168541
>>68537
a > 5 and a < 10
293 1168542
>>68537
X>5 and X<10
294 1168545
>>68537
5 < x < 10
295 1168547
Бля, пиздец я тупорылый, молю помогите, я хочу запустит файл в пакетном режиме в командной страке

в файле вот такой код

a = int ( input ())
print (a 2 )

когда запускаю файл выходит синтакс ерор инвалед синтакс

Почему не запускается?
296 1168550
>>68547
запятая (а, 2)
297 1168553
>>68550
Блин, я тупой у меня пена из рта от злости я криво написал, вот читай это

Я создал текстовый документ test.py вот с таким кодом

a = int ( input ())
print (a 2 )

В командной строке я запустил питон(пакетный режим), хочу запустить этот текстовой документ с кодом. Я написал python test.py, но вышло SyntaxError: invalid syntax
298 1168554
>>68550
Бля, между а и 2 стоит возведение в корень, а то есть две звездочки, почему они не отоброжаются
299 1168555
>>68553
ты правда тупой, что ты хочешь сделать вообще?

a = int(input())
print(a)

или

a = int(input())
print(a, 2)

или
что вообще?
300 1168557
301 1168558

>print (a 2 )


блять, я хз кинь код через иму выше

запись правильная, работать должно
302 1168559
>>68558
Между а и 2 должны стоять две звездочки, умножение типа, но их две
303 1168561
>>68559
это необучаемость блять

ВТОРОЙ РАЗ ПОВТОРЯЮ КИНЬ КОД

>Свой код кидайте через https://repl.it/languages/python3



ну блять просто же прочесть при входе в факе
304 1168566
>>68561
Единственное, что не отобразилось в коде, так это две звездочки между а и 2
305 1168567
>>68561

> читать факе


ти вабши с нашей плонети точка пеэнге
306 1168569
>>68561
Вот что я хочу сделать

2.2 Пакетный режим работы
Теперь запустим Python в режиме интерпретации файлов с исходным кодом
(пакетный режим). Создайте файл с именем test.py , откройте его с помощью любого
текстового редактора и введите следующий код:
a = int ( input ())
print (a тут должны стоять две звездочки 2 )
Эта программа принимает целое число на вход и выводит его квадрат. Для
запуска, наберите в командной строке

> python test.py

307 1168572
Начал изучать программирование, пиздец я тупорылый оказывается, я даже значения слов на русском в учебнике не знаю. Это нормально?Я буду быдло кодером если продолжу? я смогу стать талантливым программистом?
308 1168573
Эх бля нахуя никто не отвечает пиздец , выпиливаться только остается с моей тупорылостью
309 1168577
a = int ( input ())
print (a (между буквой а и двойкой должны быть две звездочки, почему это программа не запускается) 2 )
310 1168580
Ебать так сложно понять что ли пиздец , почему нету легких способов выпилиться
311 1168584
Что за вброс? Кто оставил ссылку на этот тред в вк, признавайтесь черти!

Сколько ставить таймауты на сокеты? В учебнике автор дает 100мс, я с барского плеча сразу целую секунду даю. А сколько надо? И почему у сокетов можно кинуть таймаут сразу всем функциям через .settimeout()? То есть если я хочу, чтобы в разных случаях сокет ожидал разное время, мне нужно перед каждым использованием кидать эту функцию? Или такое на практике просто нигде не используют и потому сделали один таймаут на всех?
312 1168585
Я создал текстовый документ test.py вот с таким кодом

a = int ( input ())
print (a 2 )

В командной строке я запустил питон(пакетный режим), хочу запустить этот текстовой документ с кодом. Я написал python test.py, но вышло SyntaxError: invalid syntax

Между "а" и "двойкой" должны быть две звездочки, там где принт
313 1168586
>>68572
Да. Еще будешь по 200 раз перечитывать одно предложение. Начал бы с сицпа!
314 1168587
Вайп постами вкатывальщиков. Зарепортил
315 1168588
>>68584
А что ты там уже натворил чудо с сокетами?
316 1168590
>>68584

> То есть если я хочу, чтобы в разных случаях сокет ожидал разное время, мне нужно перед каждым использованием кидать эту функцию?


А если в декоратор обернуть?
Алсо, что читаешь? Тоже хочу про сукеты почитать!
317 1168592
>>68585
сука, сколько ты ещё раз одно и то же в тред запишешь? Модератор, забаньте дауна, пожалуйста.

Насчёт твоей проблемы: ты не там пишешь python test.py. Это нужно писать в командной строке, а не внутри интерпретатора. Ты сейчас вводишь python, попадаешь в в интерпретор, и потом ещё раз пишешь python test.py. Именно в этой строке синтаксис эррор, а не в твоём файле. "python test.py" нужно писать там, где ты просто "python" писал.

А теперь уходи, а то предчуствую следующие твои вопросы и становится плохо.
318 1168593
Ньюфаги, ливайте. Работы для ньюфагов на питоне нет!
319 1168595
>>68592
Я изначально все вводил в командную строку. По твоему совету я написал просто название файла без "python", у меня вышла такая ошибка indentationError: unexpected indent
320 1168597
>>68595

>indentationError


А теперь погугли ее, омонимус
image.png26 Кб, 589x101
321 1168599
>>68588
Пока ничего. Просто, например, в threading модуле на любой блокирующий вызов типа ожидания замка можно поставить его личный таймаут. Не понимаю, почему у сокетов не сделали так же.

>>68590
Кстати можно, не подумал об этом.
Обычный Programming in Python 3, Summerfield и документацию.

Может кто ещё объяснить мне задание лол из книжки. Пикрил. Задание о создании сервера, клиента и обмене между ними информацией, переведенной в байты через pickle.dumps. Зачем передавать друг-другу протоколы упаковки? Я сначала подумал, что это для того, чтобы распаковать обратно, но перечитал документацию, и там сказано, что pickle сам определит протокол и откроет по нему. Так что автор от меня хочет?

Кстати о тредах. Почему замки называют... замками? Типа с ключем было бы все понятно - тред взял ключ и заперся с shared data в комнате, пока ключ не отдаст другие ничего не смогут ничего с этой инфой сделать. А с замком? Ну взял он себе какой-то навесной замок и че бля?
322 1168600
>>68599
Блин, а я ни одной программинг ин пайтон не читал. Ни лутца ни саммерфилда.
ПРИШЛА ПОРА
323 1168601
>>68599

>замки


Это lock чтоли? Не castle же... лок это когда разделяемый ресурс блокируется же?
324 1168602
>>68600
Есть еще одна, Core programming in python
325 1168603
>>68601
Да, я про это. Ну замок не в смысле здание огромное, а как навесной замок, ну знаешь, хуюнишки такие на цепях висят или в двери вмонтированы.
326 1168604
>>68595

>Я изначально все вводил в командную строку.


Нет, не туда ты это вводишь. Ты и сам подтвердил это словами

>я запустил питон


И затем

>ввожу python test.py



>у меня вышла такая ошибка indentationError: unexpected indent


Питон указывает и цитирует строку, где была ошибка. Скриншот в студию.
327 1168610
>>68604
Там стрелка указывала на название файла, ничего больше там не было. Щас пишет другое

NameError: name "test" is not defiend
328 1168614
>>68610
Короче, иди нахуй, ты тупой, вгаоны лучше разгружай. Я тебе уже ответил, в чём твоя проблема. Если стрелка указывает на имя файла, зачем ты в интерпретаторе это имя файла ввёл, а не командной строке (терминале/павершелле). А ты даже скриншот сделать не может.
329 1168620
>>68614
Я чисто физически не смогу разгружать вагоны, я все равно долго жить не буду, зачем мне это.

Вот скрины
g5dDCTIXdvSuq8nae7UMYfWqOGytR7e-mOxkuMT-z-M.png17 Кб, 618x429
330 1168622
Сегодня впервые в жизни применил питон для своей работы. Какое же охуенное непередаваемое чувство — написать скрипт и увидеть, что он работает и делает, как надо. Держу вас в курсе.
331 1168624
>>68620
Написав в комстроке python ты запустил интерактивный режим. И в нем ты вводишь название файла, а он не понимает хули ты доебался до него, тк команды test.py в пайтоне нет. Тебе надо написать в комстроке python test.py
332 1168625
>>68622
Чего запилил то?
334 1168628
>>68627
Ты все еще делаешь это в интерактивном режиме. Об этом свидетельствуют значки >>> слева от ввода.
335 1168632
>>68628
Сам код хоть правильный?Нормально что я пытаюсь запустить документ блокнот с этим кодом?А в каком режиме нужно запускать?
336 1168635
>>68627
П.с. другой анон.

Бляяя.... я не могу.... хаах... Сижу реверсю одну ебу, дай думаю на двачик зайду..

Анончик:

1. набери exit(), чтобы выйти из интерпретатора пайтона.

2. перейди в директорию с твоим скриптом. (п.с. все это нужно делать в терминале, это такое черное окно), чтобы перемещаться по директориям в терминале используй команду cd.
например: cd C:/Users/дома/папка_где_лежит_твой_скрипт
cd C:/
cd C:/Windows

ну ты понял, надеюсь...

3. Теперь вводи в терминал
python test.py

Если выдается ошибка, значит ты что-то делаешь не так. Начни с основ, узнай что такое компуктер, что такое процессы, файлы, файловые системы, терминалы, пользователи, переменные окружения и т.д. И потом только возвращайся на этот форум...
337 1168636
>>68632
Код правильный. Лучше набирай код в сублайм тексте хотябы. Или notepad++. Вот гляди. Ты сперва запустил просто python, и залез в интерактивный режим, теперь надо тебе из него выйти, нажав ctrl+z ztrl +d или еще какую хуету, я не знаю. Или закрыть нахуй окно и открыть снова. А потом уже вводить python test.py в одну строку
Anime-gif-Cirno-Touhou-Project-1289007.png223 Кб, 388x489
338 1168638
Мда мде.
339 1168639
>>67470
Тупль же харнит ссылки на обьекты внутри себя. Ну меняешь ты сам обьект, но ссылка на него не меняется!
340 1168640
>>68632
Плз пройди хотябы cs50. Ты ж вообще ни в зуб рукой
341 1168642
>>68625
Да по факту мелочь: автоматическое текстовое изменение пары файлов конфигурации, которые девы выкатывают в одном виде, а в них нужно потом ручками ковыряться, исправляя пару параметров тут и там. Поскольку исходники всегда одинаковые, изменять требуется всегда одно и тоже (ну, или почти всегда — для отдельных моментов я пару if-statement'ов запилил). Но сколько я нового узнал чисто по этой задаче, просто охуеть.
342 1168649
>>68640
А это все проходят?Это настолько важно?
343 1168650
344 1168652
>>68650
Там видео много часовых, их прям смотреть?
345 1168655
>>68652
Прям смотри, даже конспекты делай коротеьнкие
346 1168656
>>68640

>cs50


Ебать, а когда я спрашивал что можно послушать/посмотреть пока хожу по улице/качаюсь мне ничего не ответили. А есть ещё что такое, что можно слушать/смотреть пока занят какой-нибудь бездумной рутиной? cs51? cs52?
347 1168657
>>68652
И задачи тоже
348 1168658
>>68620
Блять, что это, нахуй? Что это за пиздос? Почему, блять? Как? Кто-нибудь может объяснить, что он вытворяет? Он ебанутый что ли?
349 1168659
>>68656

>А есть ещё что такое, что можно слушать/смотреть пока занят какой-нибудь бездумной рутиной? cs51? cs52?


Можешь включить аудиокнижку про Петра и Февронию
350 1168661
>>68657
Какие задачи?Они в видео есть?Или их отдельно нужно искать?
351 1168662
>>68656

>А есть ещё что такое, что можно слушать/смотреть пока занят какой-нибудь бездумной рутиной?


Dive into Python в голосовом исполнении Сергея Безрукого. Идеально просто: воткнул наушники перед сном, лег спать, а с утра уже можешь на собеседование идти и запрашивать 150к/месяц.
353 1168672
>>68632
Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
354 1168678
А у вас есть аниме чатик в ламповом телеграмме?
355 1168679
>>68672
бигдата? Еще java придется подучить все-таки
356 1168687
>>68678
Вам лишь бы попиздеть
357 1168689
>>68672
Для всего этого нужно знать английский?
358 1168693
Почему тогда мой одноклассник уже в школе в 8 классе писал читы блядь для шутеров, сайты, что только не делал, не думаю, что он всю эту хуйню, все эти курсы и книги читал
359 1168696
>>68693

>не думаю


Ну, в принципе, это твое стандартное состояние, так что расслабься.
360 1168697
>>68696
Да нет, он быдлом был, он не был гением, я его с первого класса знаю. Ну посоветуй что делать тогда, если такой умный.
361 1168699
>>68697
Посоветую почитать шапку.
362 1168700
>>68697
На полном серьезе советую, не прогадаешь.https://learn.javascript.ru/
363 1168703
>>68687
Ну я просто уже умею знаю и гребу на галерах ....
364 1168705
>>68703
:( крутой
U1hh7455SMLClK2BEJfVp3ePN5xw5MjsC6rtazr3EU0.png121 Кб, 700x612
365 1168707
>>68700

>javascript

22a3f1adc33292f619dc6d04cfc91951.jpg135 Кб, 425x640
366 1168715
Что можно написать в качестве тестового задания, кроме очевидной имиджборды?
367 1168716
>>68715
Перепиши This is the police так, чтобы она не лагала пиздец блять, двухмерная игра, как ее создатели уебки смогли сделать ее такой требовательной. они бля специально пытались создать неоптимизированное говно?
368 1168717
>>68324
Я все перерыл в гугле, все перепробовал.
Там везде пишут типа от админа запускай, проверь есть ли права на папку и прочее. Я это уже давно сделал и все равно не работало.
Пришлось к чертям все снести и заново поставить и тогда почему-то снова все заработало.
369 1168718
>>68715
Хостинг картинок, который будет не позволять загружать одинаковые или почти одинаковые картинки (хэш).
370 1168719
>>68716
Изи же, сохранение кэша в редис и в базу + проверка на вхождение в редисовское множество при попытке загрузки
371 1168720
>>68715
Напиши для начала революционный алгоритм сжатия данных без потери качества.
372 1168721
>>68719

>сохранение хэша


фикс
373 1168727
>>68721
Ну или можно просто кластер из двух редисовских нод заделать, и проверять и хеш даже в базу не закидывать, ОПТИМИЗАЦИЯ
374 1168735
А в 3м Питоне есть готовая функция для умножения по аналогии с sum для сложения?
375 1168740
>>68735
А что, * больше не вставляет?
376 1168742
>>68735
>>68740
Засмеялся с этих наркоманов
377 1168743
378 1168747
>>68727
Что за редис?
379 1168750
>>68747
in-memory хранилище, прямо в оперативке данные держит, быстро сука
380 1168754
>>68750
У меня от такой оптимизации МЕМОРИ ЕРРОР
Screenshot20180224-115724.png1,5 Мб, 1080x1920
381 1168763
>>68754
Ну да, лучше хеши, руками из базы данных рукам проверять, хорошо будет базе на 1кк картинок, даже индексированной
382 1168770
>>68735
Лучше самописная
383 1168774
>>68740
И как ей перемножить элементы списка в одну строчку? Инб4 лямбда.
384 1168776
>>68763
И сколько, например, нужно РАМ для 1кк картинок?
385 1168779
>>68776
Зависит от длины хеша, и соответственно от функции хеширования, завтра тест для треда запилю с генерацией 1кк рандомных значений, занимаемой памятью и скоростью чтения
Но в любом случае это гораздо выгоднее, чем делать запрос в бд, потому что она просто ляжет нахуй от таких запросов, память и докупить можно, в отличии от ограниченной скорости диска
386 1168782
Почоны, как правильно изучать sql и субд, в какой последовательности? А реляционная алгебра - перед, до или вместо? Все так запутано!
387 1168783
>>68779

> завтра тест для треда запилю с генерацией 1кк рандомных значений, занимаемой памятью и скоростью чтения


Результаты сюда постить будешь?

> Но в любом случае это гораздо выгоднее, чем делать запрос в бд, потому что она просто ляжет нахуй от таких запросов


Так реляционные БД на это и рассчитаны. Плюс возможности самой БД в этом плане тоже зависят от RAM.
388 1168790
>>68783
Да, сюда
Ну то есть ты докупаешь память, что бы её сожрал уже не редис, а бд? Причём это все равно не даст и сотой части той производительности, что даёт тебе редис
389 1168795
>>68790

> не даст и сотой части той производительности, что даёт тебе редис


Никогда не видел/проводил сравнения с редисом (почему именно редис, кстати?), а с бд в скором будущем работать придется. Надо будет выдержать примерно 300 одновременных запросов к БД.
390 1168807
>>68795
Редис, потому что одно из самых популярных, поддерживаемых и быстрых хранилищ, а тарантул я не трогал пока ещё и в ближайшем будущем вряд ли буду
https://gist.github.com/NateBarnes/3001890
Вот тест небольшой на запись/чтение
Можешь кстати его заюзать, как сессионный менеджер
391 1168817
>>68807
Прочитал немного в гугле. В общем, это как БД, с теми же записями/запросами?
Просто там еще нужно разворачивать сервер редиса, а я с простой БД пока что этим не занимался. Но думаю, если способ с БД не пройдет, переключусь на это.

> Можешь кстати его заюзать, как сессионный менеджер


Я вообще не знаю таких определений.
392 1168822
>>68817
Не с теми же, во-первых, оно не реляционное, во вторых, свои типы данных и цели у него несколько иные

>я с простой бд пока что этим не занимался


Если ты джун и работаешь в команде, то это тебя в меньшей степени касается, т.к. проектировать ты вряд ли будешь, но рекомендую ознакомится с этим для развития
https://losst.ru/malenkaya-kniga-o-redis
393 1168826
>>68822

> оно не реляционное


Это плохо.

> цели у него несколько иные


А какие, если вкратце?

> Если ты джун и работаешь в команде, то это тебя в меньшей степени касается


Я вообще к программированию прямого отношения не имею, но пока особо работы нет, я с начальником начинаем творить всякие непотребства. Сейчас у нас в планах такая хуйня, как обращение большого количества компьютеров к базе.

> но рекомендую ознакомится с этим для развития


Схоронил, спасибо
394 1168827
Анон, смотри, мне нужно вывести строку. Если есть флаг debug мне нужно вывести чуть больше этой строки, если есть флаг log нужно вывести эту строку ещё и в файл. Я правильно понимаю, что это самый лучший момент для использования exec? Я ещё думал о динамическом определении (так же называют if A: def yoba утверждения?), но писать 3 почти одинаковые функции что-то не хочется. Вот так норм? https://repl.it/repls/MistyHandmadeAddin
395 1168839
>>68826
Хранение сессионных данных, кеширование, бд для маленьких приложений (или даже для больших, если ты гуру https://habrahabr.ru/post/178525/), промежуточные данные для больших вычислений, хранение всяких флагов/чисел к которым нужен быстрый доступ и запись (опросы, лайки, просмотры в вк)
396 1168841
>>68839
Понял, спасибо за ответы. И доброй ночи, а то черед 6 часов вставать.
397 1168949
Анончики, выручайте, говнокодил я себе на питоне, бед не знал, есть проект с несколькими си-расширениями, всё под линукс.
Теперь хотят порт под винду. Питоновские части не пользуются никаким говном платформозависимым (типа termios) и завелись сразу. А вопрос у меня про расширения на Си.
Как это лучше делать? Мне обязательно ставить себе винду и vc++? Получится обойтись виртуализацией типа KVM? Какие подводные (например, нужно ли будет включать в пакет стандартные библиотеки си рантайма)?
Пока я накатил wine+python27+mingw, собираются с mingw и статической линковкой заебись, работают нормально, но это жи только 2ой пистон и только 32-бит, т.е. не сегодня-завтра оно и не надо никому нахуй будет, а надо 3ий и 64-бит, а этого в wine не завезли.
398 1168950
>>68949

>собираются с mingw и статической линковкой заебись


Хотя как "заебись", херово вообще-то, пришлось пилить отдельную альтернативу setup.py, тоже, в принципе, херня кустарная, добавил расширение - не забудь включить и в setup.py и в setup_mingw.py, фубля.
399 1168951
>>68949
Я такое в виртуалбоксе собирал. Правда у меня там иначе никак, целевая говняшка работает только под виндами, даже под вайнами падает. В целом всё ок, пишешь под линуксами, переключаешься на виртуалбокс, собираешь, тестируешь. Главное правильный компилятор выбрать под версию питона.
400 1168954
>>68782
Краткий тутор по sql. Индексы, внешние ключи, один к одному, один ко многим, многие ко многим, разобраться с джойнами, субкверями, агрегацией, оконными функциями, триггерами, хранимками итд итд.

Реляционную алгебру на потом оставь, там чистая теория, которую полезно почитать когда тебе захочется осознать реляционные БД более глубоко и какими они задумывали и должны быть.

Так-то субд могут быть очень разными, это не только реляционные. Можешь с монги вообще начать, она простая как три копейки но и такая же ограниченная в возможностях, транзакции и констрейнты ой как нужны.
401 1168955
>>68735
import operator
from functools import reduce

def product(iterable):
return reduce(operator.mul, iterable, 1)
402 1168988
>>68782
Теория баз данных гугли крёнке
Проектирование баз данных
Администрирование баз данных

По крайней мере нам в вузе в таком порядке преподавали.
403 1168989
>>68988

>Проектирование баз данных


>Администрирование баз данных


Поздравляю, теперь ты человек-оркестр, которому будет рад любой малооплачивамый бизнес, но учти, что в крупной компании, этим будешь заниматься не ты, а специальный человек.
404 1169007
>>68988
Виктор Данилович Кренке (1816—1893) — военный инженер, участник русско-турецкой войны 1877—1878 гг., генерал-лейтенант, писатель в области сельского хозяйства.
405 1169008
>>69007
Дурацкая шутка, извинтие
406 1169069
Мудрый анон, помоги! Я пишу скрипт который автоматически будет открывать терминал, автоматически вписывать логин/пароль и выполнять какие то команды. Своими силами смог через subprocces сделать запрос на подключение и сейчас встал на автоматическом заполнении логина и пароля вариант с заранее прокинутыми ключами не рассматривается. С какой стороны к этому подойти и как реализовать?
407 1169107
>>69069

> логин пароль


Засунь их себе в pickle, а уже pickle сам знаешь куда.
408 1169111
Мне нужно выполнить то, что написано в учебнике на первом скрине. Первый вопрос, как в консоли запустить питон в режиме интерпретации файлов(пакетный режим)?Я не могу нормально указать путь, всегда выходит ошибка, что такого файла нет в директории.

Если что, я уже создал текстовой файл, как написано в учебнике и написал туда код из учебника(второй скрин).
409 1169114
>>69111
Найди свой путь сам
410 1169115
>>68989
А я проектировщик ИС по образованию. И что плохого в этой последовательности?
411 1169116
>>69114
Бля, ну неужели такой сложный вопрос.
412 1169117
>>69111
Блин, покажи что ты в консоли пишешь и что тебе отвечает консоль.

>>69116
Как раз наоборот.
413 1169118
>>69116
Тебе анон про путь не просто так написал.
415 1169121
>>69119
Файл test.py в какой директории находится то? Зайди в нее через команду cd и запускай там. Или укажи после python до файла абсолютный ПУТЬ: C:\users\дома\huipizdazalupa\test.py
416 1169124
>>69121
Он находится на рабочем столе. Как я понял, там сначала нужно указывать путь к самому интерпретатору пайтон. Как это сделать?Я много чего накачал как в учебнике написано, не понятно какой путь нужно указать, там много файлов где пайтон написано, они лежат в совершенно разных мечтах, тем более у меня виндовс 10, там вообще нихуя не понятно.
417 1169129
>>69124
Поставь линукс и не еби мозги.
418 1169133
>>69129
Да, ахуенный совет блядь.
419 1169138
>>69124
Запускай так:
C:\users\дома> python Desktop\test.py
или так:
похуй где> python C:\users\дома\Desktop\test.py

Почитай в гугле где-нибудь про абсолютные и относительные пути в файловой системе. Ну и да, win10 не лучший вариант, т.к. в одном месте папка называется "Рабочий стол", а в другом "Desktop"... Вариант с использованием linux тебе всерьез стоит рассмотреть - ведь в нем без командной строки никуда, а для пайтона знать командную строку всё равно нужно.
420 1169148
Где найти литературу, чтобы все узнать про командную строку виндовс.
421 1169149
>>69148
Чувак, тебе что 8 лет? В гугли ищи!
422 1169155
Посоны, а чо за "пакетный режим"-то вообще? Впервые в жизни вижу такой термин. Да и в интернете оно только в этом "туториале" из >>69111 присутствует. Кто это выдумал и как оно по-английский должно называтсья?
423 1169157
Прочитал я вашего Лутца. Встал вопрос, что делать дальше? В веб не хочу, машоб и анализ данных тоже не привлекает.
424 1169158
>>69157
Автоматизировать админские задачи, парсить сайты скачивания пачками картинки голых школьниц или идти в другой язык, очевидно.
425 1169165
>>69158

>идти в другой язык


Этого я и боялся
426 1169166
>>69158

> Автоматизировать админские задачи


Под окна что вкуривать, например? С psexec под обычным os полет нормальный. Но что дальше?
427 1169170
>>69157
Сейм щит. После более детального изучения языка понял что мне ничего кроме как автоматизировать процессы не остается. Но все-таки навык программирования на самом языке питоне я подтяну, а потом, скорее всего в яву и андроид.
428 1169203
>>69165
Ну а что ты вообще делать-то хочешь, зачем ты начинал питон изучать? Если нет никаких идей, то и в другом языке потом встанет тот же вопрос. "В веб не хочу, энтерпрайз парашу писать не хочу, микроконтроллеры программировать не хочу, базы данных обслуживать не хочу, про монады даже слушать не хочу".
429 1169220
>>69170
Полагаешь, в адроид устроиться полегче будет?
Там ведь еще скорее всего потребуется айОС знать и к немуЯП
430 1169228
>>69203
Начал изучать в качестве первого языка программирования, ещё слабо представляя, что для чего используется.
431 1169298
Сап, любители подушить змею.
Прошу помощи тут, так как сам уже заебался, все что пробую не работает.
Дано:
В конфиге лежит время начала ежедневного ивента (в разных допустимых форматах). Его надо перевести в unix time;
Как я это вижу:
Нужно выковырять текущую дату (YY:MM:DD 00:00:00) с учетом моей локали. Перевести ее в unix time и прибавить то, что лежало в конфиге (уже приведенное к секундам прошедшим с 00:00:00);
На моей машине получилось сделать. На сервере .timestamp() возвращает совершенно другое значение.
Хули делать?
432 1169299
>>68506
>>68505

Спасибо.
433 1169300
>>69298
сервер не в твоем часовом поясе очевидно
434 1169303
>>69300
Правда? Даже предположить не мог.
Ты же понимаешь, что ты не ответил на вопрос?
435 1169309
Почему
print(os.path.join('C:', 'Users', 'User')) возвращает C:Users\User? Это бага Питона? Не может же быть, чтобы такой путь был валидным, правда?
Чтобы выдало путь C:\Users\User, мне приходится писать print(os.path.join(r'C:\Users', 'User')).
Уебанская хуйня какая-то.
436 1169311
>>69309
это ты уебан
Note that since there is a current directory for each drive, os.path.join("c:", "foo") represents a path relative to the current directory on drive C: (c:foo), not c:\foo.
437 1169315
>>69303
datetime.fromtimestamp(datetime.utcnow().timestamp() + время, которое нужно прибавить в миллисекундах) и полученное корректируешь в зависимости от своей локали
438 1169324
>>69311
Мне эта фраза ни о чем не сказала. Я ее не понимаю.
439 1169336
>>69324
В общем, ладно. Приму за аксиому, что это очередной костыль языка уровня запрета окончания слова в кавычках на слэш.
440 1169337
>>69336
очень смешно
441 1169364
Можно ли как-то сделать так, чтобы в IdLenPairs = list(enumerate(Strings, start=1)) при каждой итерации возвращался tuple вида ('count', 'len(value)'), а не просто ('count', 'value')?
442 1169365
>>69364
IdLenPairs = [(j, len(i)) for j, i in enumerate(Strings, start=1)]?
443 1169369
>>69365
Работает, спасибо, аноний.
444 1169375
А это ничего , что у лутца книга 13го года ?
Снимок.JPG16 Кб, 336x188
445 1169414
Друзья. Вопрос.
Подключил пердуину к юсб. Видает мне раз в минуту пикрелейтед. Мне же нужно только флоат значение. Т.е.
на входе пикрелейтед на выходе:
26.70
26.60
26.60
446 1169418
float(x.decode('ascii').rstrip())
447 1169420
>>69418

>float(x.decode('ascii').rstrip())


спасибо бро
448 1169484
Анон укажи путь. Я большую часть свободного времени пытаюсь уделить обучению, но как-то получается, что 90% времени я провожу в гугле, и лишь 10 за кодом. Мне кажется я не развиваюсь. Может есть какие советы по огранизации обучения от бывалых?
449 1169487
>>69484
Если ты вот этот уникум >>69111, то -
Создаешь текстовый файл
Пишешь туда те строки
Переименовываешь файл в zaloopa.py
Пишешь в командной строке "ПОЛНЫЙ_ПУТЬ_К_ПИТОНУ ПРОБЕЛ ПОЛНЫЙ_ПУТЬ_К_ЭТОМУ_ФАЙЛУ" (без кавычек, и пробел - это пробел)
И все.
К слову, откуда желание заниматься этим? Ты за компьютером точно работал раньше?
450 1169508
Можно где нибудь скачать/установить не такие обсосные подсветки синтаксиса в пайшарм ?
451 1169512
>>69337
Что-то разве не так?
452 1169514
>>69111
Ты гений, чувак. Я никогда не думал, что троллинг тупостью может выйти на такой уровень. Аплодирую стоя.
453 1169529
Пацаны , стоит ещё матан упарывать параллельно ?
Знания примерно на уровне 9-10 класса + дискретку чуть чуть знаю.
Если да , то посоветуйте пожалуйста годных курсов/литературы
454 1169546
>>69414

>>> data=b'26.70\r\n'


>>> result=float(data.strip().decode('utf-8'))


>>> result


26.7

>>>

455 1169558
>>69487
Лол, нет. Я ушёл немного дальше. Где-то на месяц от того уникума. Я тот кто бота в телегу писал, хз видел меня нет. Просто я вроде чем-то занимаюсь, но как-то не чувствую что развиваюсь. Кроме этого бота нихуя не написал за месяц (или больше). Сейчас по совету одного анона здесь пытаюсь в него mongodb встроить. После этого наверное посмотрю на postgre, ибо все вакансии что есть в моей мухосрани требуют знание хоть какого-нибудь sql диалекта.

Хотел заниматься изначально DataScience, не потому, что модно, а потому что в восторге от возможностей математики, всегда считал её магией или читом ирл, но т.к. живу в мухосрани получить опыта в этой теме не выйдет. Поэтому пока что поплыву по течению ради опыта:
BD
джанго раскрепощённый
flask
И что там ещё было в картиночке "Что нужно для джуна python в 2017".

Просто мне нужна ЭФФЕКТИВНОСТЬ! из двух недель я не могу заниматься программированием ттолько 3 дня. Остальные могу посвятить не менее 6 часов (хотя с ночных смен иногда приходится спать).
sage 456 1169559
>>69529
Зависит от рода деятельности.
457 1169560
>>69559
Для общего развития и развития абстрактного мышления в частности.
fp1l19MM4DTqxeVL99Z7MkDPZA1En0LR8OnIaLT0C0A.jpg255 Кб, 870x652
458 1169566
>>64614 (OP)
Анончик, потихоньку осваиваю Питон для личных нужд, понравилось, что в стандартной библиотеке есть диалоговое окно ввода из модуля turtle (чтобы не в скрипте изменять данные или не вбить инпуты через командную строку), но оно вызывает лишнее окно рисования и вообще слишком простенькое.
Планирую осваивать уже создание полноценного окна с выбором чекбоксов, радиокнопок и полей ввода. Я так понимаю, для этого нужно подключать PyQt5 и изучать уже его, да?
А еще вопросец такой: если я не хочу сливать несколько скриптов в один, чтобы не загромождать его, можно как-то сделать, чтобы при вызове главного скрипта по ходу действия вызвались дополнительные? Подозреваю, что можно, но тогда требуется ли в этих дополнительных скриптах повторно прописывать импорты, дефайны функций и переменные, если они и так есть в главном скрипте?
image.png944 Кб, 1600x1263
459 1169596
Всем питон. Я недавно выучил чистый питон на хороший ну нормальный уровень. Познакомился с django. Хочу спросить у опытного анона, какой проектик сделать на питоне, чтоб и интересно и полезно? Буду очень благодарен
460 1169597
>>69596
Далеко не обязательно сайт, про django я просто так сказал, к слову)
461 1169615
>>69596
Хз, интересно пилить игори, как по мне. А полезно - какой-нибудь софт. Например, чтобы в Стиме при попытке зайти на игру 18+ он бы не запрашивал каждый ебаный раз твой возраст.
462 1169618
>>69615
А можешь мне помочь с технологиями, ну для старта хотя бы. Просто фраза "Читать все книги" безусловно правильная, но так ничему и не научишься сто лет будешь учиться хер пойми чему. Вот, например, чтобы такую фигню со Стимом написать, что надо?
Да и просто, что нужно, чтоб работку найти, хотяб бичевскую.
Знаю как ботов для ТГ писать, RESTful, django на начальном уровне, OpenCV тоже так, средненько, сейчас буду учить как парсить всякие сайтики на питоне.
2018-04-07145120.jpg15 Кб, 535x78
463 1169626
>>69618

>например, чтобы такую фигню со Стимом написать, что надо?


А я откуда знаю? Ты идею просил, я подкинул.
Можешь попробовать автоввод при открытии этой страницы.
464 1169642
>>69596

>чтоб и интересно и полезно?


Сделали же вам, молодёжи, github, bitbucket и иже с ними: есть внятные задачи (как баги, так и фича-реквесты), есть польза для компьюнити, есть опытные кураторы, есть отлаженная система, не дающая наступить на ряд популярных граблей.
Нет, не хочу, хочу делать миллионный тетрис и аски-змейку. Деды так делали, и я так хочу, хочу быть как дед.
Дед плачет, что в его время не было таких возможностей участия в опен-сорце, как сейчас. Потому иди, найди молодой проект, чтобы тебе было хотя бы отдалённо интересна тематика, разберись со структурой, выбери issue и пили пулл-реквест.
465 1169663
Анон, вот смотри, есть два способа реализовать одну и ту же функцию: https://repl.it/repls/LeadingSugaryMethods
Куда сядешь куда мать посадишь? Ну то есть, во второй явно могут потенциально производиться кучи ненужных проверок. Даже если не было дано дефолтное значение или набор верных значений, всегда будут идти проверки на них (if default, if valid). А в первом случае такого нет. Но сама функция выглядит вроде как сложнее. Что из этого выбрать? Как бы вы написали на работе?
466 1169671
>>69663
Однозначно 2ой вариант.
И ещё короти, типа https://repl.it/repls/YawningGrizzledBlogs

>Rule of Economy: Programmer time is expensive; conserve


it in preference to machine time.
467 1169695
Интересный бложик. Может, кому поможет.
https://arvimal.blog/
image.png142 Кб, 662x574
468 1169767
Мне нужно уметь делать complex and sophisticated parsers чтобы стать джуном?
470 1169815
>>69671
>>69663
А чего бы не вот так вообще? https://repl.it/repls/NearLightblueComputation
471 1169817
>>69508
Удваиваю! Почему-то в хипсторедакторах на электроне из коробки всё заебись, а переключить и скачать тему проще чем запустить код на выполнение. Почему в пичарме этому уделено так мало внимания непонятно. Собственно, отказался от пичарма от части по этой причине.
472 1169839
>>69815
У тебя логика изменилась: если заданы и valid и default, которого нет в valid, то ты не примешь default. Я не говорю, что это неверно, но в изначальной редакции поведение было другим.
473 1169860
Аноны, платиновый вопрос, наверно. Но все ж.

Пилю себе парсер цен. Хочу чтобы скрипт красиво выводил "цена на розовую дилду стала ниже, для снижения цены потребовалось X дней". Как лучше считать этот X дней?
474 1169863
Кто-нибудь имел опыт портирования змее-скриптов на венду? Суть: пилю прогу python+selenium webdriver. Для запуска браузера, нужно установить вебдрайвер на кудахтер. Можно ли сделать как-то установщик, чтобы из коробки работало все?
15221680650290.png370 Кб, 391x517
475 1169867
>>69767

> Англюсек

476 1169874
Какие есть работы на питоне кроме макакинга на джанго/фласке?
477 1169879
>>69874
ds & ml
478 1169883
>>69879

> ds


Data science? Что это означает вообще?
479 1169886
Анон, объясни мне PyParsing: http://pyparsing.wikispaces.com/

> Pyparsing 2.x supports Python versions 2.6, 2.7, and 3.x. If you are using Python 2.5 or older, you must specifcally install version 1.5.7.


Что это вообще значит? Написано же, что Pyparsing 2.x поддерживает Питон версий 2.6, 2.7 и 3.х. И потом написано, что если я использую любую из них, то мне надо ставить 1.5.7. У меня вроде с англом нормально но это не понимаю. Почему мне надо ставить 1.5.7 для моего Питона 3.х, если Pyparsing 2.0 поддерживает 3.х ?
480 1169898
>>69886
лол
Плохо у тебя с английским
481 1169905
>>69898
Я хотел сказать, что ты блять охуел, и когда писал перевод по строчкам кажется понял. older это же старше, типа для питона 2.5 и старше сука т.е. 2.4 и т.д. вниз нужен старый PyParsing. Спасибо. Наверное. Иди нахуй.
482 1169971
>>69883
Наука о данных?
мимо anglichanin
483 1169976
>>69839
Я об этом думал, да, но иметь дефолтным значение не из valid это как-то ниочинь: ведь в скобочках у промпта будет выведен этот дефолт, а если ты его руками напишешь, то тебе как хуём по губам: "неверный ввод!". Так-то да, ты прав, немного поведение изменилось, но зато код на две строки короче!
484 1170079
>>64614 (OP)
сап питонычи
есть вопрос по джанго:
я за небольшой промежуток времени собрал из говна и палок небольшой интернет-шоп и хочу прикрутить туда возможность смены валюты на товаре. То есть по дефолту у меня в моделье есть цена в нативной валюте, а допустим потом я хочу ее поменять и на всем сайте это уже, допустим, доллары и заказ оформится для долларов. Как это правильней всего сделать?
485 1170103
>>70079
При создании товара продаван должен указать цену продукта в нескольких валютах,имхо.
Ну или ты должен указать курсы валют в можете какой и потом пересчитывать цену, в зависимости от выбранной валюты юзером.
1.png8 Кб, 653x112
486 1170116
>>68951
Анончик, чего накатывать в виртуалбоксе?
Это ад какой-то, второй день ебусь, пиздец блядь, мой анус уже радиоактивным пеплом станет скоро.
Поставил спермёрку, накатил Visual Studio 2017 Community (Microsoft.VisualStudio.Workload.NativeDesktop и .Python), накатил Python 3.5.3 amd64 (целевая платформа) -- эта сука говорит "не вижу vcvarsall.bat". Сайт МС говорит, что 2017 должно быть достаточно. Нихуя не понял.
Ладно, похуй, поставил для 2ого VCForPython27, с 32-бит та же хуйня (vcvarsall.bat???), но ВНЕЗАПНО 64-бит запустилося, собралося, только с включенным OMP (-openmp) не запускается (пикрил, блядь, чего оно от меня хочет, сука?! 2к18 на дворе, тварь, почему ты не можешь в юникод?!), без него работает.
Т.е. в итоге после полутора дней ёбли не дотянул даже до того, что имел с wine+mingw.
Ананасы, как вы это делаете? Как вы собираете нативные расширения под винду? У меня ещё, кстати, не используются всякие PyMem_malloc и прочее, т.е. мои расширения не зависят от ABI, по идее, потому и использую радостно статическую линковку и всё заебись работает на куче самых разных линуксов; а в винде (на стаковерфлоу) мне говорят, что надо собирать и линковать с тем рантаймом, с которым собирали пистон на целевой платформе, чего за беспредел, неужели статически нельзя слинковать?

Алсо, окончательно проиграл с этого:

>The issues surrounding Python packaging are some of the most complex in our industry right now. Versioning is difficult, dependency resolution is difficult, ABI compatibility is difficult, secure hosting is difficult, and software trust is difficult.


Ну охуеть теперь, три Дебиана, четыре Убунты, СентОС, фря, хоть x86, хоть amd64, хоть arm -- всё работало как часы из коробки, а вот ишь ты, оказывается, всё сложно пиздец как, ну как бы я жил без винды, прозябал бы во тьме неведения.
13182554271301.jpg21 Кб, 345x253
487 1170214
>>70116

> хую

488 1170216
Тупой вопрос итт: Насколько реально вкатится, если я вообще не имею представления о программировании. Не обоссывайте
489 1170249
Эй, любители потеребить Питон, дошел до такой штуки как tkinter. Вопросы:
1) Он подходит для готовых но простых программ? Или это чисто учебная штука и для любого serious shit надо обязательно PyQt осваивать?
2) Как чуваку, который хочет вкатиться в бекэнд мне вообще надо особенно сильно об этом заморачиваться? Или прочитаю документацию по tkinter и tk/tcl и можно забить?
490 1170253
>>70249
1. подходит, особенно если "для себя" и есть гарантия, что не будет очень сильно расти проект
2. достаточно даже не знать, что tkinter существуют
491 1170295
>>70216
Очень реально, даже я вкатываюсь, а я не только о программировании понятия не имел, но даже информатику в школе прогуливал.
492 1170376
Молодёжь. Иду на Django джуна. Какие вопросы задают? Какие подводные?
493 1170382
>>69642
в смысле там можно находить проекты, по которым разработчики просят коммюнити помочь что то дописать или исправить ?
Если да то как такое иискать ?
494 1170392
>>70382
Да, фильтруешь проекты по интересующим признакам (python etc.), сортируешь ну скажем по росту популярности за последнюю неделю/месяц, находишь что-то тебе близкое иипонятное, смотришь как живо идет процесс разработки, залезаешь в issues, ищешь чего мог бы сделать, делаешь, создаешь pull request, дальше разработчик его смотрит, говорит чего не так, потом принимает, а если даже и нет, то все равно тебе +экспа.
В матерых проектах часто есть раздел в readme "Contributing" или отдельный файл типа https://github.com/scipy/scipy/blob/master/CONTRIBUTING.rst

Эх, блджад, где мои 17 лет, хуярил бы сейчас в сайпай или астропай топовые научные статьи: сразу ингриш, нОука, си, питон, гит, сфинкс, латех, смаке и еще и с интересом... А я пердун, который свое говно под винду за выходные скомпилить так и не смог, ебаный стыд.
495 1170475
Как расправиться с следующей проблемой?

$path1/script1.py

```
spec = importlib.util.spec_from_file_location("module", "$path2/script2.py")
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
module.foo()
```

$path2/script2.py
```
from script3 import bar
bar()
```

$path3/script3.py
```
bar()
```

ImportError: No module named 'bar'
496 1170486
>>70475
Всё, нашёл.
497 1170491
>>70392
Хуле щас не хуяришь?
498 1170532
Есть приложение на джанге, которое работает на веб-сокетах (channels), оно должно получать от юзера адрес страницы и парсить некоторый сайт. Получение с клиента инфы я сделал, теперь нужно сделать так, чтобы приложение запускало некоторые сторонний сервис, который выполнял бы парсинг и частями отдавал юзеру спаршенную инфу. Пытался сделать для каждого юзера группу (выдав ему uid) и запустить парсинг в стороннем скрипте, но скрипт не хочет отсылать что-либо обратно юзеру. Подскажите, плиз, как правильно такое реализовать? Т.е. чтобы какой-то скрипт делал какую-то работу на стороне и отдавал бы юзеру инфу и в это время не блокировал бы приложение. Код этих двух файлов (consumers и parser) можно посмотреть тут https://pastebin.com/Rsg5T4sx
499 1170534
>>70532
Гугли Celery. Там вроде можно и статус чекать, но скорее всего придется в несколько тасков запускать парсинг.
500 1170536
>>70532
Перепиши его на жс. Так будет лучше.
501 1170539
Как благородное сообщество относится к pipenv, используется ли в продакшене? Или все с виртуаленв делают?
502 1170547
>>70539
pipenv - надстройка над virtualenv
503 1170565
>>70539
Нормальные пацаны юзают контейнеры, для каждого отдельного проекта
504 1170595
>>69860
Ебись с алгоритмом, который сравнивает цены других товаров.
505 1170620
>>70539
Два раза пытался попробовать — оба раза крешилось сразу же, на первой же команде. Говно.
506 1170622
>>70116

> статически слинковать


А, ну это тебе к pyinstaller петухам. Так бы сразу и сказал.

> надо собирать и линковать с тем рантаймом, с которым собирали пистон на целевой платформе


Да. Я тебе об этом и говорил. Нужен не 2017-мокрописьки эдишен от васяна, а прицельно нужный пакет с компилятором. Далее ебашишь xml конфиг проекта (вот только ради этого может понадобиться студия по большому счёту) и собираешь через msbuild.
508 1170624
>>69860

> Как лучше считать этот X дней?


Вычесть из сегодняшней даты дату прошлой записанной цены (относительно которой она снизилась), очевидно. В чём твоя проблема?
509 1170703
>>70622
А что не так с pyinstaller?
510 1170706
>>70249
Qt нужен, tkinter старое гавно
511 1170742
Господа, а неужели, чтобы воспользоваться Tensorflow в PyCharm обязательно надо устанавливать гигабайты Nvidia GPU софта?
512 1170788
Какие есть альтернативы базы данных для множественных (и одновременных) вызовов?
513 1170791
>>70622

>нужный пакет с компилятором.


Вот нахуя, если я не пользуюсь питоновской кучей?
А vcredist в каждой второй проге или десятки копий msvcr90. dll на машине это не петуханство?
Алсо, нашел ноут с вин10 и все собралось, хотя OpenMP так и не работает, я знаю, что там багов полный рот вплоть до vs10 включительно, так что забью, пожалуй, да и это уже не в этот тред. То ли вин7 паленый, то ли виртуалбокс не едет.
514 1170799
Перекат для антошек уставших от пассивного говна вместо опа

>>1170797 (OP)
>>1170797 (OP)
>>1170797 (OP)
>>1170797 (OP)
>>1170797 (OP)

все предложения оставляем в гудрайве на сайте из шапки
screenshot3.png2,6 Мб, 1920x1080
515 1170829
Аноны, а как организовать парсинг функции из строки? Или-же генерацию функции прямо в коде.

Допустим, у меня есть 10 параметров и задача. Для решения задачи нужно построить формулу из этих 10 параметров. Правила её построения есть, но как это реализовать в коде? Не хочу делать 200 строк всяких ELIFов. Должен же быть некий "красивы" подход. >>64614 (OP)

ИРЛ пишу нейронку-автопилота, с тестированием в KSP (потому что нет шекелей на квадрик)
516 1170852
>>70829
Пример бы хоть показал, так тебе нихуя не посоветовать.
517 1170884
Я взял простой пример нейронной сети выполняющей задачу регрессии:
http://mexuaz.com/opencv-machine-learning-03/

Код написан на Tensorflow 1.2/Keras 2.0.5

Я хотел взять ту же задачу, распараллелить её и выполнять в полотора-джва раза быстрее на нескольких ядрах. Я стал искать как же в Tensorflow/Keras делается параллельность на нескольких ядрах и нихрена не нашёл, нашёл только про подрубание GPU видеокарты.

Насколько мне показалось, в Tensorflow/Keras автоматически используется параллельность ядер.

НО! Узнать об этом точно у меня не получается, так как у меня всего два ядра. Я взял PyCharm в котором у меня код программы на Tensorflow/Keras, и в диспетчере задач отрубил второе ядро, оставив только одно. И эта программа на Tensorflow/Keras выполнилась вдвое медленнее.

ПОЭТОМУ Я ХОЧУ СПРОСИТЬ, ПРАВИЛЬНО ЛИ Я ПОНЯЛ, ЧТО В ПРОГРАММЕ НА Tensorflow/Keras АВТОМАТИЧЕСКИ ИСПОЛЬЗУЮТСЯ ВСЕ ДОСТУПНЫЕ ЯДРА ДЛЯ УСКОРЕНИЯ НЕЙРОННОЙ СЕТИ?
первый раз на дваче 518 1170953
Парни, помогайте: как реализовать поиск письма на Python 3.6, зная емейл и пароль? Ни IMAP, ни POP3 серверов не известно. Емейл может быть в какой угодно доменной зоне. Какие библиотеки использовать и что почитать?
519 1170983
>>70884
1. А почему ты не попробуешь многопоточность через threading? На хабре есть подробный гайд по многопоточности в питоне.

2. Тебе стоит немного почитать о своём процессоре. Например в i3-7100 физических ядер только два, а виртуальных аж 4 (то есть (12)+(12)). Количество потоков получается достаточно большим, а система резвой. Потому что, я в крайней мере сомневаюсь в возможности отключения одного из ядер CPU вообще. Этож блять нонсенс! Всё равно что половину микросхемы или транзистора отключить.

Хотя должен сказать. Я немного тобой восхищаюсь, ибо всё ещё не могу в тензор :с
Func.jpg159 Кб, 1052x545
520 1171002
>>70852
Вот, например, функция отвечающая за манёвр причем, в любом измерении, на любом ЛА, она одинаковая. В зависимости от изменения параметров, меняется форма кривой.

Я пишу простейшую нейронку, которая могла бы анализировать мой полёт и представлять его в виде набора однообразных манёвров т.е. по одной функции с разными параметрами. Это, фактически, будет обучением с учителем.

Но забегая немного наперёд возник вопрос: а что делать если ЛА потребует более сложных функций, чем просто "скат"? Например, в начале или в конце манёвра на графике это места, где кривая переходит в горизонтальную линию, может быть болтанка, которую нужно будет ослабить. Для этого нужно прямо в функцию включить синусоиду, в нужных местах. Чтоб этого достигнуть, нужно дописать в функцию переменные и параметры, которых на момент запуска программы просто нет. Вот тут и возникает вопрос — как это сделать?

Сорри что пример не в коде, у меня пока с трудом идёт адаптация всего этого в программу.
521 1171008
>>70884
Да, используются все ядра. Тензорфлоу строит граф вычислений, который независим от железа. Это слишком абстрактно для решения одной конкретной задачи, если ты ее хочешь сделать полностью сам.

>>70983

>А почему ты не попробуешь многопоточность через threading?


Через потоки ускорять вычисления не получится из-за GIL. А вообще, Keras имеет намного более высокоуровневый интерфейс, и вопросы с ядрами и потоками решает без постороннего вмешательства.

> Потому что, я в крайней мере сомневаюсь в возможности отключения одного из ядер CPU вообще. Этож блять нонсенс!


Такое вполне вероятно. ОС может перестать задействовать ядро в планировщике задач и отключить ядру питание, насколько это позволяет модель процессора. Подобные режимы сна - не редкость, особенно для мобильных и встроенных процессоров.
522 1171062
>>70983

> А почему ты не попробуешь многопоточность через threading?


Я не знаю как такое в Tensorflow/Keras сделать

>Потому что, я в крайней мере сомневаюсь в возможности отключения одного из ядер CPU вообще. Этож блять нонсенс!


Не, не по настоящему отрубил ядро, а только для PyCharm через диспетчер задач отрубил 1 ядро. Зашёл в диспетчер, взял PyCharm и вместо All CPU CPU0 CPU1 снял галочку и поставил только CPU0.

>Я немного тобой восхищаюсь, ибо всё ещё не могу в тензор


Я тоже не могу, я просто загуглил готовый код и загуглил, что он работает только с версиями Keras 2.0.5 и Tensorflow 1.2 и в PyCharm установил такие.
523 1171063
>>70983
>>71008
Спасибо больше за ответы
524 1171077
>>71002

> Вот тут и возникает вопрос — как это сделать?


Ну, дописать в функцию, как ещё. Изначально можешь установить такие коэффициенты, которые приведут дополнительные члены к 0 или 1, получая свою первую функцию.
Либо можешь иметь несколько функций с разным набором параметров и выбирать между ними когда надо.
Твоя нейронка сама по себе функцию не выдумает же, тебе в любом случае где-то нужно будет прописать эти новые параметры.
Inquisitorum и Л.Петрушевская - День рождение мозга, Соседи.webm6,3 Мб, webm,
420x420, 3:04
525 1171231
>>71002
Не уверен что правильно понял что тебе нужно, но посмотри на sympy, пакет для символьных вычислений, сможешь динамически конструировать математические функции.
AI AP logo.png49 Кб, 256x160
526 1171314
>>71077
Да, дописать в функцию это конечно действенно, но это частное решение. Т.е. мне нужно будет предусмотреть возможные варианты, заблаговременно, что вносит ограничения в систему. Я же хочу сделать некую абстрактную структуру, которая сама могла бы порождать частные решения, на каждый случай.
Возможно я прошу у двача слишком многого, но думал что тут есть люди могущие в агентно ориентированное программирование, где фактически создаётся код, который сам себя дописывает.
Пока, единственный подходящий выход, который вижу, это создать генератор кода в txt-файл, с разметкой через заданные символы например отступ через символ Tab или 6 alt+255. Правда потом нужно как-то сменить расширение файла на .py и каждую итерацию его нужно будет занового загружать наверно через FROM [xxx] import [YYY], чтоб принять поправленный код.

По крайней мере, это то, каким я понимаю агентно-ориентированное программирование в данный момент. Возможно, более опытные аноны смогут меня дополнить или поправить.

Но пока, у такого плана есть 3 проблемы:
1. Как в txt-файле с кодировкой UTF-8 сделать необходимое количество отступов, без использования нормальных IDE типа Шарма или Атома? Я вот хз, например, как сделать табуляционный пробел в таком файле, чтоб он сохранился. Может в ASCII порыться?
2. Как, прямо в коде, реализовать смену формата файла, с txt на .py? я хоть и макака ещё, но с таким точно не сталкивался ранее
3. Где-бы найти информацию про такое? Пока, даже гугл, даёт ссылки лишь на всякие научные работы по 5-10$ за штуку. В планах только попробовать Google Scholar и доки оттуда. Хотя может есть хорошие форумы по пайтону можно даже на английском
527 1171319
>>71231
Спасибо за либу. Попробую в неё вкатиться.
528 1171321
>>71062

>Я не знаю как такое в Tensorflow/Keras сделать


Так есть кажется стандартная для PyCharm либа threading.

https://habrahabr.ru/post/149420/
529 1171369
>>71314
UPD:
Alt-код для TAB это Alt+09, который работает в блокноте, но не работает в PyCharm
530 1171419
Аноны. Поясните плес за многопоточность. Я что-то её не понимаю. Могу понять параллельные вычисления, когда одна функция/класс/метод с разными параметрами работает на большом числе CPU, но зачем многопоточность на 1 процессоре/ядре? В чём плюс, если можно тоже самое записать в линейный цикл, в одном потоке.
531 1171424
>>71419
Уже не актуально
532 1171529
>>71314

> и каждую итерацию его нужно будет занового загружать


importlib.reload(mymodule)

>Но пока, у такого плана есть 3 проблемы:


Вот это у тебя проблемы конечно.

>1.Как сделать необходимое количество отступов


Эм, открыть текстовый редактор и нажать на кнопочку tab? Ты в коде не так отступы делаешь, что ли? Или писать '\t' в файл, если из кода делается. Или ты имел в виду необходимое с точки зрения синтаксиса питона?

>2.Как, прямо в коде, реализовать смену формата файла, с txt на .py?


А зачем? .py это обычный текстовый файл, сразу в него и пиши. Это всего лишь имя файла.

По поводу АОП, к сожалению, ничего не подскажу. Мне просто твой реквест виидтся не совсем выполнимым в том виде, в котором ты хочешь. На основе чего эта абстрактная структура будет что-то создавать? У неё будет набор примитивных мини-функций или членов возможных функций или как?
533 1171532
Я нуб, зашел в шапку, увидел все, что мне нужно. Сижу, изучаю. Аноны, добра вам
bdsm.jpg69 Кб, 600x578
534 1171800
>>71529

>importlib.reload(mymodule)


Сяп, попробую.

>необходимое с точки зрения синтаксиса питона


Вот именно для этого мне и нужно будет написать программу, которая будет знать синтаксис питона, чтоб мочь в написание кода.
Сам код будет является набором подготовленных модулей или шаблонов. Например, в случае если для решения проблемы потребуется итерация, программа сама создаст цикл While или For. То есть будет некий блок поведения и блок возможных вариантов действия. Блок поведения пока хз как будет работать, но он будет строить новые блоки, за счёт композиции возможных вариантов действий, прописанных в шаблонах. Это как строительство из лего. У тебя есть N готовых блоков и некий свод правил, как их соединять синтаксис, в моём случае, дальше нужно накатить принципы постройки структур и как-то это связать с поведением.
Это то, что я понимаю под АОП, в самом простейшем исполнении.

>А зачем? .py это обычный текстовый файл, сразу в него и пиши.


То есть, я могу написать так? file = open(“testfile.py”,”w”) ???
535 1171867
>>71800

>То есть, я могу написать так? file = open(“testfile.py”,”w”) ???


Ну да.

>Вот именно для этого мне и нужно будет


Ну, с отступами-то просто: все твои блоки будут написаны с нулевым отступом, а хрень, которая соединяет их, будет иметь некоторую переменну состояния, через которую следит за текущим отступом, добавляя нужно количество табов/пробелов к каждой строке блока.

А не пойти бы тебе в новый тред? Этот тонет уже давно.
536 1171870
>>71867
Только-только его обнаружил.
537 1172080
Как взять через запрос API получить файл в JSON-нотации и сохранить в CSV?
538 1172339
>>69566

>нужно подключать PyQt5 и изучать уже его, да?


Да. Осваивал его видеокурсом на ютюбе.
539 1172678
>>71867
Что-то каждый нечётный питонотред как-то упадочный
540 1177683
>>72080
ты с АПИшки уже получаешь все данные в JSON, просто потом сохрани их в csv и делов-то
541 1177685
>>64614 (OP)
Очень нужна ваша помощь:
Нужно сделать клиент для MongoDB, вот только все запросы будут писаться в виде SQL ( не спрашивайте зачем )
Вообщем, вопрос: Как правильно распарсить этот SQL запрос? Или нужен другой подход?
542 1177850
>>67870

>matlab - это проприетарный пакет для математиков.


Поржал с дауна. Да, проприетарный, но говорить, что матлаб - это пакет для математиков - значит быть одним из миллиардов ебланов, которые любят пиздеть, не разбираясь в вопросе.
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 29 мая 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски