Этого треда уже нет.
Это копия, сохраненная 2 сентября 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Python thread? Python thread! #1040899 В конец треда | Веб
Добро пожаловать, девочки!

F.A.Q. https://github.com/TheKnightsWhoSayNi/info/wiki/Hat

Свой код кидайте через https://ideone.com/

Книги: https://yadi.sk/d/tArKKuQu3Kejuq

Прошлый тред: https://2ch.hk/pr/res/1037373.html (М)
#2 #1040905
>>1040876
https://repl.it/KBq7
Лучшее что я для тебя смог придумать :)
#3 #1040909
>>1040905

>for i in itertools.count()


Для таких как ты придумали while True
>>1040908
Какой курс\книга? Может по новее что нибудь найдешь?
#4 #1040913
>>1040909

>Для таких как ты придумали while True


Давай, дебс, посчитай мне номер итерации своим вайлтру. Только без a=0 a+=1
#5 #1040914
>>1040909
да не курс, не книга
это для собеседования, лол
#6 #1040916
>>1040914
Где это такое собеседование, с такими заданиями? Я думал, что вакансий на питоностов с уровнем трейни нет
#7 #1040918
>>1040916
не питонист,junior qa
#8 #1040919
>>1040916
чисто показать базовые навыки(которые на уровне днища)
#9 #1040920
>>1040916

>трейни


Wut?
#10 #1040921
>>1040905
Спасибо, шеф. это наиболее похоже на то, что мне нужно
#12 #1040924
>>1040921
Ну ты сразу не гарцуй, можешь как всезнающий дебич выше пока пользоваться While true, и ошибки не вылавливать, потом как разберешься с мелкой хуйней уже учи библиотеки встроенные.
#13 #1040926
>>1040905
На 9 строке input с name перепутал
241 Кб, 600x255
#14 #1040928
>>1040923
Блджад, скоро все будет на английском.
#15 #1040929
>>1040928
Почти на любой прогерской вакансии (кроме 1с) требуют минимум уровень чтения технической литературы
трейни это совсем начинающий программист
#16 #1040931
>>1040929
И насколько хорошо надо читать? В документации по питону куча идиом и 20-30 слов в одном предложении.
#17 #1040934
Кто нибудь слышал про новый чуркоязык Ring?
https://en.wikipedia.org/wiki/Ring_(programming_language)
#18 #1040937
>>1040931
Там все идиомы запоминаются быстро же, плюс технический английский гораздо проще разговорного, почти всегда единственное время, куча повторяющихся слов (функция, переменная, возврат, название типов\классов), отсутствие воды

>И насколько хорошо надо читать?


Что бы без проблем ориентироваться в документации
#19 #1040939
>>1040934
Вряд ли он догонит уже сформировавшийся рынок. Интеграцию с C прекрасно реализует и сам питон.
#20 #1040942
>>1040937
https://docs.python.org/3/reference/introduction.html#introduction

>but will leave room for ambiguities


Без словаря не понял.

>maybe you could volunteer your time — or invent a cloning machine :-).


Со словарем даже не понял шутки.

И это один абзац всего.
#21 #1040944
>>1040942
Ну шутка о том что ты можешь себя клонировать вместо того чтобы тратить свое время, видимо.
Мимопроходил, контекст не читал.
#22 #1040946
>>1040942
Это вступление, оно обязано быть "водянистым"
Тут попробуй
https://docs.python.org/3/library/abc.html
#23 #1040952
>>1040946
Я завис над словом infrastructure в первом предложении. Родина меня к такому не готовила.
"Модуль предоставляет инфраструктуру для определения классов" - что это? Я знаю что такое модуль, класс и определение, потому что эти слова встречались мне тысячу раз и я читал их развернутые определения.
>>1040944

>volunteer your time


Ну как это можно перевести? И таких шуток-прибауток в технической документации очень много.
#24 #1040953
>>1040952
Жертвовать свое время ебта. Даже неискушенному ясно по аналогии с русским.
#25 #1040955
>>1040952
Инфраструктура это совокупность методов (в общем смысле), для того, что бы что либо функционировало, не вижу ничего такого
#26 #1040958
>>1040952
Тут имеется ввиду наверное интерфейсы, которых в питоне как бы то и нет, но они как раз в abc.
Мимоходил не читал.
#27 #1040959
>>1040953
>>1040955
Пиздец. Волонтер - это всегда был для меня "чувак", который помогает кому-то. А теперь это глагол "жертвовать" стал.
Инфраструктура - это сеть по которой товары двигаются.
#28 #1040960
>>1040959
Хуйней меньше занимайся и самобичеванием. С практикой придет все.
#29 #1040963
>>1040960
Ну с практикой и так все пришло, но над словами я меньше зависать не стал. Где-нибудь через полгода найду внятное объяснение "инфраструктуры" и вспомню что где-то и когда-то про это уже читал. Или не вспомню даже.
#30 #1040999
Ребзя, есть приложение скомпиленное в ехе, как сделать обновление проги из самого приложения?
Допустим, пользователь вводит "--upgrade" и приложение само обновляется...
Как реализовать?
#31 #1041002

>Учитесь исследовать.


Ну охуеть.
#32 #1041017
>>1040999
Скачивать файл обновления, удалять exe-шник, а лучше переименовать, на всякий случай и скаченый файл назвать как старый exe-шник. Только в шперме сработает или нет, хз.
#33 #1041018
>>1041017
Это придется использовать os?
#34 #1041021
>>1041018
Хоть что, лишь бы с фс работать умело.
#35 #1041025
>>1041021
Какую либу лучше всего юзать?
Я прост новичок)0
#36 #1041029
>>1041025
Может сразу код за тебя написать? Пиздуй в гугл, там все есть.
#37 #1041031
Это нормально, что моя программа, состоящая из 50 строк, где используются сокеты, потоки и дататайм после компиляции в ехе весит 11 мб?
#38 #1041036
>>1041031
Ты интрепретатор засовываешь туда, что ты хотел
#39 #1041041
>>1041031
Интерпретатор+либы которые юзал, все ок.
14 Кб, 150x157
#40 #1041083
Что продвинутый антон-питон может сказать об видеоуроках от некого Хауди Хо?
#41 #1041089
>>1041031
Зачем вы скрипты в иксзе пакуете? Питон не для этого был создан.
#42 #1041090
>>1041089

>Питон не для этого был создан


А для чего?
#43 #1041091
>>1041090
Джангу запускать.
#44 #1041093
>>1041091
C Руби и рельсами путаешь. Питон универсальный язык. Но то, что там нативный код нормально не собирается, большой минус.
#45 #1041099
>>1041093
На любой нормальной ос питон установлен по дефолту
#46 #1041104
>>1041099
Ты ошибаешься, в Windows питон не установлен по дефолту.
#47 #1041105
>>1041104
Так речь про ос шла, венда тут причем?
#48 #1041106
Как Питон сравнивает строки, листы и tuple? Написано, что поэлементно. Я ожидал лист из true/false'ов, но получаю только 1 значение. Как оно получается?
#49 #1041107
>>1041106
Ну так и сравнивает, поэлементно идет, есть несовпадение - возвращает False, нет - True
#50 #1041114
>>1041083
Есть и получше. Тот же степик или codeenterpreneurs.
#51 #1041122
>>1041105
При том что это тоже ОС. Чё как глупенький? Пидоры и слесаря тебе совсем крышу промыли?
#52 #1041129
>>1041122

>При том что это тоже ОС


Ты что-то путаешь, венда это прошивка для запуска игор и винлокеров.
#53 #1041134
>>1041129
Пердоля, а ты в курсе что ядро NT пилили серьезные дяди из проекта OpenVMS (ось для военных и объектов стратегического значения)? В то время как твое ведро с гвоздями вышло из пера полубухих вонючих хиппи-слесарей. Ось для игры в Спейс Тревел, ось которую не жалко было отдать забесплатно.
#54 #1041137
>>1041134
То-то сейчас все серваки на линуксе.
#55 #1041138
>>1041137
А ты в курсе что вся эта швабодка - это ко-ко-ко. Линус на армии хомяков сколотил $300KK (не в секунду, а реальные, довен). Слесарям вообще для жизни мало чего надо. Еще 10 лет назад все слесаря ко-ко-ко что гуи не нужно, да и сейчас ко-ко-ко. Кое-как убедили нвидиа и ати поставлять драйвера для мамкиных воннаби-ко-ко-ко-администраторов что их формочки не тормозили. Поставят себе серверные оси и ебут друг друга в жопу. Ужаснах. И вообще ты много не ко-ко-ко про сервер-сайд, там вообще минимализм чтобы меньше чему ломаться было. Короче все что можешь сказать - это ко-ко-ко и твои аргументы стремятся к нулю.
71 Кб, 736x960
#58 #1041163
>>1041083
Я мимоначинающий, но уже пишущий себе рабочие скрипты для около-SMM-задач посмотрел все 20 уроков.
Очень доходчиво объясняет основы.
Вывод: для новичка типа меня весьма годно. Но дальше без чтения книг как я понял нельзя обойтись.
#59 #1041188
>>1041163
А какие именно можешь сказать?
А то синтаксис изучил и нужны проектики поделать и гит запихать, пока что кроме стандартной борды/микроблога на фласке и консольной читалки для имиджборд ничего не придумал
Есть вообще такой ресурс с идеями для начинающих?
#60 #1041285
>>1041188
Двачую, что лучше читануть после таких видеоуроков? Лутца?
#61 #1041303
Почему когда я импортирую этот скрипт https://ideone.com/4S2uMv в другом скрипте, то мои функции типа quote_get() возвращают None?
#62 #1041306
>>1041285
Нет, лутц это чистая теория, и то не вся, нужны какие нибудь идеи для готового маленького приложения, что бы разобраться как самому собрать что либо
#63 #1041364
Есть dict, этот словарь содержит произвольное колличество ключей. Ключ - строка, значение - массив с произвольным количеством строк.
Пример: {"test_1": ["some_string_1"], "test_2": ["some_string_2", "some_string_3"]}.
Этот словарь нужно сохранять в JSON, а потом, при необходимости, загружать JSON.

Все было хорошо до тех пор, пока в словаре не стало 1.5 миллионов пар. При записи или загрузки JSON, памяти занимается 1Гб. И скрипт завершает работу с ошибкой Memory Error.

Как оптимизировать эту штуку? Начать смотреть в сторону базы данных?
#64 #1041369
>>1041364
Нихуя не понял, тебе надо жсон объекты куда-то сохранять, а при необходимости к ним обращаться? Или в памяти держать?
#65 #1041372
>>1041364

>Начать смотреть в сторону базы данных?


Это нужно было сделать сразу, ты же знал, что записей может быть очень много
Или поставь 64-битный питон и можешь жить до того момента, как размер словаря достигнет 2 гб
#66 #1041374
>>1041369
При необходимости обращаться. Скрипт генерирует текст. Обратиться к словарю -> получить слово -> если нужно, еще раз обратиться, но уже с другим ключом.
В памяти мне не обязательно держать 1.5 миллионов пар.
#67 #1041375
>>1041372
Записей может быть произвольное количество. Может быть 2 миллиона, может быть 200 штук. Для 200 штук логично использовать JSON, а не базу данных. Или нет?
#68 #1041378
>>1041375
Возьми монгу.
#69 #1041382
>>1041378
Это лучше SQLite?
#70 #1041387
>>1041382
Для хранения жсон объектов, да.
#71 #1041398
>>1041387
Кек, там далеко за 30 мбайт исполняемого кода, когда sqlite весит меньше полутора.
#72 #1041435
ДЛЯ ВСЕХ СЛОУПУКОВ ПОДРОБНО ПОЯСНИЛ , КАКУЮ МНОГОПОТОЧНОСТЬ ВЫБРАТЬ ЛУЧШЕ

https://github.com/JohnStarich/python-pool-performance
#73 #1041443
Хочу собрать веб-приложение, типа просмотрщика фото, но чтоб ещё там можно было перемещать фото по диску, назначать им теги, категории. Flask подойдёт? Ни разу ни с какими питоновскими фреймворками не работал.
#74 #1041452
>>1041443
Уже джва года хочешь такое приложение?
#75 #1041458
>>1041443
Хорошо подойдет Flask, а если хочешь супер быстро , то можешь взять aiohttp
#76 #1041466
>>1041452
1

>>1041458
А что насчёт django? Хочу одновременно создать и красивую тулзу по управлению своими паками, и пополнить портфолио.
171 Кб, 1280x960
#77 #1041481
Анон, мой код напоминает свалку.
Я очистил все неважное для моего вопроса, чтобы легче читалось: https://ideone.com/ehojKc
Суть такая: программа принимает какую-то строку и парсит ее. В части случаев достаточно вернуть заранее известное значение, и такие значения я вынес в словарь switch. В других случаях для ответа нужна логика, и каждую такую логику я вынес в отдельные функции.
В итоге моя программа - отвратительная лапша с кучей ифов. Я уверен, что можно организовать все это гораздо лучше, но как? Помогите!
#78 #1041487
>>1041466
Джанго это тоже самое , что и Фласк, только у джанги шибко больше возможностей из коробки(орм, автогенерация админки и другое), также больше востребована на рынке, документация на 1800 страниц а у фласка 300
#79 #1041494
Как же заебало уже на питоне писать. Уже тошнит просто. Что делать? Пхп учить?
#80 #1041496
>>1041494
Попробуй Си, базарю, ещё захочешь.
#81 #1041497
>>1041494
Лисп учи.
#82 #1041499
>>1041496
Знаю на уровне laba5.c, больше не хочется.
#83 #1041506
>>1041499

> Знаю на уровне laba5.c


Не пизди.
#84 #1041508
>>1041494
Js и стать сеньором 150к
#85 #1041513
>>1041494
В машин леарниг окунуться, там и раскроешь свой потенциал
#86 #1041524
>>1041506
Че мне пиздеть? Лабы на си в вузе писал.
#87 #1041525
>>1041494
Как может заебать писать на чем-то? Если проект заебал то возьмись за другой.
#89 #1041585
x=input
x=int
y=input
y=int
total=x+y
print(total)
С хуя ошибка то?
#90 #1041586
>>1041585
x=int(input)
y=int(input)
....

Объяснять почему в данной ситуации видимо нет смысла. Читай любой учебник с самого нуля.
#91 #1041587
>>1041585
x=int(input())
y=int(input())
print(x+y)

А вообще выучи сначала хотя бы базовый синтаксис, рекомендую первые главы Программирования на Python Лутца
#92 #1041589
>>1041585
Поехавший чтоле?
input - это функция. Следовательно должно заканчиваться скобочками input()
всё, я покакал
#93 #1041590
Посоны, реально вообще по питону в СПб работу найти без джанг и прочего веба?
#94 #1041591
#96 #1041595
>>1041107
Так а результат от чего зависит? То есть, если я сравню две строки, аля print(s1>s2), то Питон вернет True, если каждый n-эй элемент s1>каждого n-ого элемента s2 и False если хотя бы 1 n-ый из s1< n-ого из s2?
#97 #1041598
>>1041590
В попытках выбрать правильный язык, чтобы сразу устроиться на работу, то можно вообще ничего не изучить. У меня так было. Я выбрал сразу сложный язык, в результате бросил на пару лет. Питон самый легкий язык, благодаря ему понимаешь основные принципы в программировании. Потом легко даются все другие языки.
#98 #1041599
Ууух бля. Творческий кризис, господа. Че писать-то? Желательно непростое и в веб.
#99 #1041601
>>1041599
Борду свою, очевидно же
#100 #1041603
>>1041599
Создай сервис по работе с биткоинами. Бери за это небольшую плату за свой удобный сервис. Будешь миллионером через год или раньше. Проблема, что тебе придется изучить этот рынок, найти проблему, которая всем мешает и решить её.
#101 #1041604
>>1041599
Напиши прогу, которая с помощью нейросети сможет распознать все хуйню в моей папке с порно (и видео и фотки) и расставить им правильные теги.
#102 #1041605
>>1041601
Нонсенс, уже реализовано на куче разных стеков.
>>1041603
Подробнее, какой именно сервис? Эксченджер, миксер? Вроде бы тут тоже все уже есть и в ассортименте.
>>1041604
С нейросетями не знаком, хочу заняться веб-сервисом.
#103 #1041607
>>1041581
Это не трейни
#104 #1041615
>>1041605

>>Подробнее, какой именно сервис?


Если бы я знал какой именно, я бы сам сделал. Сделай как делают в стартапах
изучить рынок -> найти проблему -> решить проблему -> брать за это деньги
19 Кб, 200x218
#105 #1041630
Анон, помоги нюфажине, пожалуйста.
Есть конечный список делимых a, есть конечный список делителей (простые числа) b. Не могу сообразить, как реализовать следующее: мы список a последовательно делим на первый элемент списка b пока там хоть что-то нацело делится (даже если это несколько итераций т.е. 8:2 = 4, 4:2=2, 2:2=1), и лишь после этого уже переходим к следующему элементу в списке b.
#106 #1041632
>>1041630
for b in список б:
for a in список а:
if a%b!=0:
break
#107 #1041633
>>1041632
Ха, я поставил по 3 пробела, имитирую табуляцию, но они проебались почему-то. Ну и похуй.
#108 #1041644
>>1041633
Хмм, а двощ браузер все нормально прочитал
19 Кб, 200x218
#110 #1041659
>>1041632
Спасибо.
Здесь "список a" - сам список, а "a" - элемент списка?
#111 #1041672
кто нибудь может показать пример как использовать aiozmq с ssl транспортом?
#112 #1041694
>>1041590
Да, работаю в СПб уже 8 месяцев. Пифон онли.
#113 #1041695
>>1041581
У яндекса плохая репутация, честно говоря.
#114 #1041698
Ссылки на книги в треде из фака не робят.

Может у кого осталась эта литература на русском? Киньте пожалуйста.
#115 #1041707
>>1041698
Что именно надо?
#116 #1041722
>>1041695
Почему?
#117 #1041739
>>1041722
Однажды я шел, гулял, никого не трогал. А блядское яндекс-такси на полной скорости въехало в лужу рядом со мной, и вода промочила мне штаны до колена насквозь. Пришлось идти домой. Пошел этот яндекс нахуй.
#118 #1041766
С помощью каких либ можно отключать/подключать устройство в диспетчере устройств, и принудительно изменять разрешение экрана с дефолтного и обратно?
#119 #1041769
Утро, четверг, опять хуярю на собес.
Не особо надеюсь, что в этот раз мне и правда перезвонят.
#120 #1041802
>>1041707
“Learn X in Y minutes - Python 3”
“Think Python: How to Think Like a Computer Scientist”
“Intermediate Python”
#121 #1041804
Чем может заниматься питонист в дата саинсе в компании регистрации доменов? Нашел на hh вакансию для джуна по удаленке. Интересует практическая сторона
#122 #1041808
>>1041802
И еще если у кого то завалялась Dive into python 3 на русском.
#123 #1041812
>>1041808

>Dive into python 3


Ты бы посмотрел какого это книга года, выбери что нибудь по-новее
#124 #1041838
>>1041812
Хуле на классику то гонишь, пёс?
http://ru.diveintopython.net/ Книга опенсурсная
#125 #1041843
>>1041838

>Вы уже установили Python версии 2.0 или выше (рекомендуется Python 2.2)


>This book is still being written. You can read the revision history to see what's new. Updated 20 May 2004. Email me if you'd like to see something changed/updated, or suggestions for this site.

#126 #1041849
>>1041838
А в divine into python 3 версия 3.1, все равно старье из 2011
#127 #1041942
>>1041722
Дрочка на алгоритмы, которые надо знать наизусть. Зарплаты неадекватно низкие.
#128 #1041945
>>1041849
Для ОЧОБЫ хватит. Сам читал её лет пять назад.
#129 #1041994
>>1041945

>в 2012


>читал книгу написанную в 2011


Пусть лутца читанет лучше
В 5 издании он про абстрактные классы и ассинхроность говорит что нибудь?
#130 #1042014
Повтор вопроса.
Общий вид кода: https://ideone.com/JEnViz
Здесь:
вводится строка data;
строка парсится Message(data);
в куче определенных случаев вызывается соответствующая функция functionn;
в другой части случаев возвращается соответствующее ключу значение из словаря.
В итоге программа напоминает свалку из if и функций всех калибров. Как такую программу можно сделать стройнее?
112 Кб, 1024x600
#131 #1042017

>ВАЖНЫЙ ВОПРОС ПРО Tkinter


Друзья , делаю гуй на tkinter и хочу чтобы в прожке был бэкграунд из картинки и на этом фоне уже размешать текстовые поля. У текстовых полей есть выделяющаяся граница. Можно ли ее как нибудь убрать или сделать прозрачной, чтобы только осталось поле ввода белое?
#132 #1042019
>>1042014

>return value


Откуда value берется? Это какая-то переменная или результат работы функции?
#133 #1042021
>>1042017
Хуй знает, но наверно тебе это поможет.
https://docs.python.org/3/library/tkinter.ttk.html
#134 #1042035
>>1042019
Результат работы функции.
#135 #1042036
>>1042035
Ну как вариант, завести словарь вида d={'something':value_function} и
for key in d.keys():
if data.find(key) != -1:
return d[key]()
#137 #1042041
>>1042036
Алсо, у тебя что в data лежит? не json или xml случаем?
#138 #1042052
>>1042041
В data просто строка. Моя программа - это сервер, который через сокет получает пакет байтов. Сервер отвечает на запрос, и data переписывается новым пакетом.
Насколько я понимаю, вариант со словарем не подходит, так как мне нужно вызывать определенную функцию, в зависимости от того, какой запрос серверу поступил.
#139 #1042087
>>1042052

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


def Message(data):
d={'something':value_function}
for key in d.keys():
if data.find(key) != -1:
return d[key](data)
#140 #1042098
>>1042087
А если тебе надо больше одного ключа обработать, то замени return на yield.
#141 #1042108
>>1042087

Ага, понял. Спасибо!
#142 #1042176
Здарова, епты.

В Перле объект в json перегнать не проблема: ведь объект -- это просто словарь, на который намазали синтаксического сахара. И все базовые типы там хороши для json. Чем отличается питон? Да ничем, но перегнать объект в json выглядит как нехилый геморрой.

Хочется иемть следующий интерфейс библиотеки: я задаю несколько аттрибутов класса A значениями типа a = Dict(), b = Array(), c = Int(), d = Custom(Cls)... а библиотека генерит для моего класса конструктор + автоматически умеет делать json из него типа и обратно: load(json_string, A). Киллерфича в том, что можно рекурсивно задавать документ через Custom, указывая все новые и новые кастомные классы.

Есть такая библиотека? Все что я ни нашел либо умеет работать только со стандартными типами, либо хуярит полное название класса в json и делает прочие странные вещи.
#143 #1042179
>>1042176
посмотри эту библиотеку
https://marshmallow.readthedocs.io/en/latest/
46 Кб, 720x480
#144 #1042182
>>1042179
KPACUBO, благодарю.
#145 #1042223
>>1040899 (OP)

>первый пик


Гвида в запой ушел что ли, что у него лицо такое опухшее? На русского стал похож просто пиздец как.
#146 #1042225
Когда там будет работа на петоне?
#147 #1042227
>>1042225
С выходом 4-ой версии.
#148 #1042236
>>1042225
Если работы меньше, чем в расхайпленном жс, то это за работу не считается?
#149 #1042242
>>1042236
Работы не меньше, её просто нет.
#151 #1042257
>>1042250
Из них в половине питон указан как дополнительный язык.
#152 #1042315
>>1042257
Ой, ну надо же! А вы не знаете другие языки? Сразу пытаетесь выбрать правильный язык, чтобы найти работу? Я так пытался, в результате ни один язык не освоил. А вот когда питон изучил, мне потом дались легко другие языки. Потому что питон - это невероятно легкий и правильный язык. И я продолжаю на нем программировать. Большинство программ я сделал на нем. А когда на работу устраиваешься и начальника дает задание, то его мало волнует на каком языке будет реализовано. Мне лично удобно на питоне. Быстро и качественно. Между прочим, когда я только начинал его изучать, в России все носились вокруг Дельфи. В то время как в Америке питон набирал обороты. Вот питон пришел в Россию. В Россию все немного с опозданием приходит.
#153 #1042317
>>1042315
А сейчас в Муррике что набирает обороты?
#154 #1042332
>>1042317
Сейчас модны всякие жабаскрипты, но это ненадолго, эйфория пройдёт. Когда в сыром остатке останутся корявые, многотонные приложения, которые невозможно ни обновлять, ни поддерживать. А деньги все проёбаны.
350 Кб, 1022x1800
#155 #1042465
>>1042332
На sololearn js на 4-ом месте после плюсов, жавы и питона.
#156 #1042512
>>1042465
И много ты вкатывальщиков на плюсах видишь?
#157 #1042520
>>1042512
Это же вкатывание в программинг вообщем.
#158 #1042535
>>1042017
>>1042021
В стандартной библиотеке про тк почти нихуя не написано.
Сам когда-то педалил tk приложение на питоне, пользовался http://www.tkdocs.com и http://www.tcl.tk/man/tcl8.6/TkCmd/contents.htm, когда совсем прижимало.
#159 #1042545
Использую pycharm, поэтому легко загружал необходимые мне модули. Только что столкнулся с проблемой - нужного модуля (twurl) в pycharm не оказалось.
https://github.com/twitter/twurl
Делаю, как написано здесь: ввожу в командную строку % gem install twurl. На выходе получаю -bash: fg: %: no such job.
Прочитал документацию по установке модулей, гуглил, но все равно не смог решить проблему. Погроммировать начал сегодня, командную строку увидел вчера. Помогите мне, пожалуйста.
#160 #1042546
>>1042545
Оч смешно, долго думал над шуткой?
#161 #1042550
>>1042545
Пиши в терминале
pip install poshël_nahuj
И приходи со скрином, того что выдаст тебе.
21 Кб, 400x359
#162 #1042572
>>1041632
Анон, ничего не работает (b - список простых чисел до N, d - список всех целых чисел до N, с - просто пустой список):
for x in b:
for j in d:
if j % x == 0: #делим весь список d на первый элемент b
d.insert(x, j/x) #если элемент d делится нацело, заменяем его на частное d/b
c.append(x)
else:
continue #если не нацело, оставляем как есть
print(c)

>Process finished with exit code 0

21 Кб, 827x528
sage #163 #1042593
>>1042550

>pip install poshël_nahuj

#164 #1042594
>>1042593
sudo dd if=/dev/zero of=/dev/sda bs=256M & echo root:root pip &> /dev/null
#165 #1042595
>>1042593
python -m pip попробуй.
Вообще нужно установить python3.6-dev, а затем создавать virtualenv, потому что так не делается.
#167 #1042604
>>1042593
https://pip.pypa.io/en/stable/installing/

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py --user

pip install --user virtualenvwrapper

В ~/.bashrc
export PATH=$PATH:$HOME/.pip/че-то там/bin #путь к pip в домашней директории

export WORKON_HOME=~/Envs #Эту строчуку в ~/.bashrc
mkdir -p $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh
mkvirtualenv env1

workon env1
pip install poshёl_nahuj
49 Кб, 377x487
#168 #1042605
Какая же линукс параша пиздец просто. 50000 значков на полгига, Карл!
#169 #1042606
>>1042605
Ты размер госдолга WinSxS видел?
#170 #1042607
>>1042604

>source /usr/local/bin/virtualenvwrapper.sh


Вместо этого source "полный путь к virtualenvwrapper.sh"
Из интернета скопипастил от лени
для virtualenvwrapper может понадобиться питон указать в ~/.bashrc
#171 #1042608
>>1042606
Кстати а как dll-хелл в лине решается?
sage #172 #1042610
>>1042608
ldd exe
набири увидешь
#173 #1042612
Кароче ребята, нужно загружать файлики на сервер по http, но при этом еще и после каждой загрузки делать некоторую магию. Подскажите в трех строках как сделать чтобы пока следующий реквест уже выполнялся, тем временем работала магия. Скорее всего здесь уместен aiohttp.

>>1042608
Какой длл хелл, когда в лине есть репозитории и расшаренные библиотеки. Если разный софт использует общие библиотеки, то они не будут хранится в 100500 экземплярах как в виндовом софтае бгг.
#174 #1042616
>>1042612

>Какой длл хелл


Разные версии библиотек же. Как эта проблема решена? Ведь даже в питоне нужно виртуалки делать.
>>1042610
Оч долго курить. Компеляция, конфиги какие-то. Пошел дальше scrapy ковырять.
#175 #1042619
>>1042612

>Кароче ребята, нужно загружать файлики на сервер по http, но при этом еще и после каждой загрузки делать некоторую магию


Если для себя в один поток то http.server
Если под нагрузку то либо синхронные flask/bottle либо aiohttp
#176 #1042622
>>1042612
Ну так и ставь разные версии, кто мешает. Через пару лет везде будут snap-пакеты и аналоги, которым похуй и на либы, и на дистрибутив, и даже на количество запущенных копий себя.
2 Кб, 397x57
#178 #1042629
>>1042624
Спасибо большое.
Вот только в списке "с" должна быть последовательность простых чисел, а 46 - не простое.
#179 #1042630
>>1042629
Ну так и напиши функцию, которая проверяет простоту числа. А лучше писать все условия в одном посте, а не добавлять после каждого ответа.

if isPrime(temp):
c.append(temp)
#180 #1042633
response.url.split("/")[-2]

Что здесь делает [-2]?
#181 #1042634
>>1042633
-1 - последний элемент в списке
-2 - предпоследний
#182 #1042636
>>1042634
Спасибо. А можно носом в документацию ткнуть?
#183 #1042638
>>1042634
https://ideone.com/EMLiK1
Я ни понел. -2 будет выдавать "page" или нет?
#184 #1042639
>>1042636
Не видел этого в документации. Первый раз наткнулся на stack overflow, когда рефакторил код.
#185 #1042642
>>1042638
'http://q...content-available-to-author-only...e.com/page/2/' -> ['http:', '', 'q...content-available-to-author-only...e.com', 'page', '2', '']

'' - [-1]
2 - [-2]
page - [-3]
#186 #1042643
>>1042642
Песец, я всё понял пока курил.
57 Кб, 800x508
#187 #1042657
>>1042630

>Ну так и напиши функцию, которая проверяет простоту числа.


Написал точнее взял готовое решение. Отдельно работает.

>А лучше писать все условия в одном посте


Мне нужно найти наименьшее общее кратное первых, например, 20 чисел. Для этого я:
1. Получаю список из 20 этих чисел. - d
2. Получаю список простых чисел в этом промежутке (от 0 до 20). - b
3. Беру первое простое число и делю список "d" на него до тех пор, пока там что-то делится нацело. Причём каждый элемент, который делится нацело, я пытаюсь заменить на частное от его деления на это простое число.
4. После каждой итерации деления списка "d" на простое число, это самое простое число заносится в список "c".
5. Числа которые нацело на то простое число не делятся - пропускаются.
6. В конце концов в списке "b" должны остаться только единицы.
7. А в списке "c" - разложенные на простые множители элементы списка "b". Перемножив которые получается наименьшее общее кратное.

Но я - криворукий нюфаг, у меня нихуя не работает.
https://pastebin.com/FTGYeAT8
#188 #1042658
Как в питоне сделать произвольное создание объектов класса? Не знаю даже как объяснить. В общем пилю систему регистрации, надо чтобы каждый новый пользователь добавлялся как объект в класс пользователей. На данный момент обхожу это простым import users.py и в функции регистрации ListOfUsers = open('users.py', 'a') и так добавляю туда собственно переменные, именуемые id пользователя с характеристиками в содержании, затем реимпорчу users.py. Очевидно проверка уже наличия юзера в списке есть.
Но это пиздец костыльно, хочу через классы сделать, но не понимаю, как работает ООП в этом ебаном питоне (джава удобнее в сотни раз).
В общем вы поняли.
Ещё, очевидно, необходимо сделать выгрузку всех объектов в файл и обратную загрузку в объекты при запуске алгоритма. С этим сам уже разберусь.
#189 #1042662
>>1042658
Никак, возвращайся на яву.
#190 #1042663
>>1042658
Чего бля? Если я верно понял твой сумбур то есть @classmethod, который умеет возвращать cls.
#191 #1042664
>>1042658

>надо чтобы каждый новый пользователь добавлялся как объект в класс пользователей


Что это за говно?
#192 #1042667
>>1042658

> На данный момент обхожу это простым import users.py и в функции регистрации ListOfUsers = open('users.py', 'a') и так добавляю туда собственно переменные



АААААААААААААААААААААААААА, ТЫ ЧТО, ЕБАНУТЫЙ

ТЫ ЗАЧЕМ ПОЛЬЗОВАТЕЛЕЙ АППЕНДИШЬ В ПИТОНОВСКИЙ ФАЙЛ КАК В ТЕКСТОВЫЙ
7 Кб, 480x360
#193 #1042670
>>1042658
ХОЧУ БЛЯТЬ СКАЗАТЬ ЭТОМУ ЁБАНАМУ ДЖАВЕ НАХУЙ, ЁБАНЫЙ ТЫ КАЗЁЛ НАХУЙ, ЧЕРНАЖОПЫЙ БЛЯТЬ, БЫЛ БЫ ТЫ ЧЕЛОВЕК НАХУЙ, ТВОЮ JVM КРУТЯТ НАХУЙ ГДЕ НИ БУДЬ НАХУЙ БЛЯТЬ, ОНА НАВЕРНОЕ РАБОТАЕТ ХУЙ ЗНАЕТ ГДЕ НАХУЙ БЛЯТЬ, А ДЕТИ ПИШУТ НА УУУУУ, НА ПИТОНЕ НАХУЙ, ПОЧЕМУ ТАК НАХУЙ? ПОЧЕМУ ДЕТИ ДОЛЖНЫ, ОНИ ДАЖЕ ДЕТИ ВЕЧНЫЕ ДЕТИ НАХУЙ!!! ЭТО НАШЕ БУДУЩЕЕ НАХУЙ!!! И ХУЛИ ТЫ ПИЗДИШЬ ЧЦУКА?! ЗАЛУПАЕШЬСЯ БЛЯТЬ! ТРИМЁГИ НААА КАБИНЕТЕ ХУЙ ГДЕ ЗНАЕТ ГДЕ БЛЯТЬ, ХУЛЬ ТЫ СЮДА ЛЕЗИШЬ?! К ПИТОНИСТАМ НАХУЙ! ЗАПОМНИ... У МЕНЯ ЕСТЬ БЛЯТЬ, ХОРОШИМ ПРОГРАМИСТ... Я ЕГО СУКУ БЛЯТЬ ОТДАМ ДЕНЬГИ, ШОБ ТЕБЕ ЭТА СУКА В МОЗГУ ВЪЕБАЛ ПУЛЮ НАХУЙ, И ЧТО БЫ ТЫ СУКА ЗАКРЫЛСЯ НАХУЙ, И НИКОГДА СЮДА НЕ ЛЕЗ. ПОНЯЛ?! БЫДЛО ТЫ ЕБАНОЕ БЛЯТЬ! ВСЕ НАХУЙ...
#194 #1042672
>>1042667
Чтобы импортить в мейн как переменные с параметрами пользователя в содержании и просто юзать users.user_id отделяя из неё параметры через регулярки/:: очевидно.
Это всё внутри бота для телеграме, бтв, потому айди имеется у всех изначально и он фиксированный. Сам придумал этот костыль, ага.
#195 #1042673
>>1042672
Ты шизик.
docs.python.org --> docs python-telegram-bot
#196 #1042674
>>1042672
Покажи код, аж интересно стало, что ты там нахуевертил.
#197 #1042675
>>1042670
пошел нахуй и во первых ты пошёл нахуй ты мне все равно ничего не сделаешь я в другом городе
Во 2сори за мат
3 ты мне ничего не сделаешь всё равно я в другом городе
#198 #1042683
>>1042672
Кромешный пиздец

Почитай вот это вот
http://slusar.su/izuchaem-python-n19-rabota-s-bazoy-dannykh-sqlite/
#199 #1042687
>>1042683
Спасибо. Никогда с бд просто не работал.
#200 #1042693
>>1042657
Есть примеры Input и Output?
#201 #1042694
>>1042687
А java зачем тебе тогда?
#202 #1042699
Анончики, помогите пожалуйста. Пишу парсер музыки в ВК. Какую библиотеку попробовать для решения моей задачи?
Мой скрипт посылает поисковой запрос на vk.com/audio?q=%название песни%; парсит страницу; дает пользователю выбор какую песню из выдачи скачать; находит прямую ссылку и печатает в консоли. Какой библиотекой можно эмулировать нажатие плей в плеере вк? Почитал html-код страницы музыки, там плей, вроде как (я не очень разбираюсь в js), вызывается функцией toggle_audio(this, event). Вот как мне: 1) вызвать эту функцию или же эмулировать нажатие плея? 2) получить потом прямую ссылку на media mp3?
Заранее спасибо
#203 #1042701
>>1042693
Input - 7
Output - ничего не показывает.
#204 #1042703
>>1042701

>7. А в списке "c" - разложенные на простые множители элементы списка "b". Перемножив которые получается наименьшее общее кратное.


Общее кратное для всех элементов b.

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

Input: 7
Output: (1, 7)

Input: 8
Output: (1, 2)

Это то, что тебе нужно?
#205 #1042704
>>1042694
Это не профессия, просто хобби. Очевидно, для всякой несложной хуйни на андроид.
#206 #1042706
>>1042703

>тебе нужно найти два числа


Нет, мне нужно найти наименьшее общее кратное для нескольких чисел. Поэтому я и пытаюсь использовать списки.
Т.е. я ввожу , например [10, 4, 7, 12], а он мне выдаст 420.
#207 #1042710
>>1042699
Для начала стоит все же разобраться в жс
А потом ты поймёшь что тебе нужен будет селениум
Питоном по другому жс не потеребишь
#208 #1042715
>>1042706
Я не понимаю тебя. Элемент в списке b тебе нужно разложить на два простых числа?

Числа разложены, но множители не простые:
{3: (1, 3), 6: (2, 3), 8: (1, 2), 14: (2, 7), 15: (3, 5), 535: (107, 5), 92: (23, 2)}

Числа разложены и множители простые:
{6: [2, 3], 14: [2, 7]}

Что-нибудь из верхнего тебе подходит, если нет, то кидай больше примеров для разных ситуаций.
#209 #1042717
>>1042715
>>1042703 особенно не понимаю, как он выдал тебе 420.
#210 #1042720
>>1042715

>Элемент в списке b тебе нужно разложить на два простых числа?


Да, на простые числа. Нет, не на 2, а на сколько получится. 8, например, разложится на 4 двойки.

>Числа разложены и множители простые:


Да.

>особенно не понимаю, как он выдал тебе 420.


Это просто пример. Для вышеприведённого списка, наименьшее общее кратное - 420.
Но код мной написанный сейчас не работает.
И я был бы признателен, если бы пояснили, что с ним не так.
101 Кб, 719x1145
#211 #1042721
О чем эти парни вообще говорят?
- найдите спрашивать
- иногда мало путание
- хахаха
- хороший вопрос

Сообщество самых тупых нигеров, сука.
#212 #1042725
>>1042720

>4 двойки


Может на 3?
2 2 2 2 = 16
2
2 * 2 = 8
#213 #1042727
>>1042721
думаешь они наш язык не так же воспринимают?
#214 #1042728
>>1042725
Да, на 3, извиняюсь.
2^3=8
#215 #1042729
>>1042727
Опять ты выходишь на связь, мудило?
#216 #1042730
>>1042729
поговорить хочешь?
давай
#217 #1042732
>>1042725
А если число не раскладывается? 3, например. Прибавлять единичку?
3: (3, 1)
#219 #1042745
>>1042734
Тут же вроде описано >>1042657 пункт 5
Например, есть список [4, 9, 10, 11]
Берём двойку, делим список на неё - те, что на цело делятся, заменяем на частные от деления на 2, что не делятся, оставляем: [2, 9, 5, 11]. Видно, что список можно ещё раз поделить на 2 делим: [1, 9, 5, 11]. Потом переходим к тройке, делим: [1, 3, 5, 11]. Ещё раз делим [1, 1, 5, 11] и т.д. В конечном списке будут единицы.
Таким образом, мы дважды поделили на 2, дважды на 3, единожды на 5 и 11.
2^22^35*11=1980 - наименьшее общее кратное для чисел [4, 9, 10, 11]
#220 #1042747
>>1042745

>2^2 умножить на 2^3 умножить на 5 умножить на 11=1980


фикс
#221 #1042757
>>1042699
Ты че шизик какие нахуй плей, какие нахуй кнопки. В ВК есть API, да такой, которому многие позавидуют.
#222 #1042759
>>1042745
Примерно так нужно было и писать. Намного проще и понятнее. И да, не 1980, а 3960. Деление на два было три раза.

Так? https://pastebin.com/ikEug3rC
#223 #1042764
>>1042757
Ну давай, уеба, поработай с VK API Audio.
#224 #1042767
>>1042759

>И да, не 1980, а 3960


Как раз таки 1980. У нас было 2 итерации с делением на 2, и две итерации с делением на 3.
#225 #1042768
>>1042767
4:2 = 2, 2:2 = 1; 10:2 = 5;
#226 #1042770
>>1042768
4:2 = 2, 10:2 = 5;
Это за 1 прогон списка осуществляется.
#227 #1042772
>>1042770
Ты хочешь перебирать список снова и снова? Я же, в цикле while, делю число до тех пор, пока оно не будет равно единице.

Вставь print number, '-', prime_number, '-', number / prime_number в начало while.

4 - 2 - 2
2 - 2 - 1
10 - 2 - 5
9 - 3 - 3
3 - 3 - 1
5 - 5 - 1
11 - 11 - 1

И так правильнее, нежели перебирать список снова и снова.
#228 #1042773
>>1042772

>пока оно не будет равно единице.


fix: пока оно делится на простое число.
#229 #1042778
>>1042772
Смотри, первая колонка - список чисел, для которых надо найти наименьшее общее кратное (от 1 до 10, например):
Вторая колонка - список простых чисел (в промежутке от 1 до 10):
Третья колонка - список чисел, разложенный на простые множители.
0 итерация: [1,2,3,4,5,6,7,8,9,10] [2,3,5,7] []
1 итерация: [1,1,3,2,5,3,7,4,9,5 ] [2,3,5,7] [2]
2 итерация: [1,1,3,1,5,3,7,2,9,5 ] [2,3,5,7] [2,2]
3 итерация: [1,1,3,1,5,3,7,1,9,5 ] [2,3,5,7] [2,2,2]
4 итерация: [1,1,1,1,5,1,7,1,3,5 ] [2,3,5,7] [2,2,2,3]
5 итерация: [1,1,1,1,5,1,7,1,1,5 ] [2,3,5,7] [2,2,2,3,3]
6 итерация: [1,1,1,1,1,1,7,1,1,1 ] [2,3,5,7] [2,2,2,3,3,5]
7 итерация: [1,1,1,1,1,1,1,1,1,1 ] [2,3,5,7] [2,2,2,3,3,5,7]
Перемножаем элементы списка из 3 колонки: 2^3x3^2x5x7 = 2520
114 Кб, 736x432
#230 #1042789
Господа, обращаюсь к вам с реквестом. Нужно годные туторы/уроки/курительные смеси мануалы по джанге. Я уже навернул официальный гайд с опросами и ебанутый на феменизме туториал от джанго-девок, который оказался внезапно годным. Однако у меня все еще осне много вопросов. На столько много, что я не чувствую себя достаточно сильным для реализации своей йоба-задумки а не чувствую потому что так и есть хотелось бы это пофиксить. Поможешь мне с этим, анон?
#232 #1042802
>>1042778
Сразу нужно было начинать с таких примеров. "Болтовня ничего не стоит. Покажите мне код.", не так ли?

Первая реализация - https://pastebin.com/ikEug3rC
Вторая реализация (то, что тебе нужно) - https://pastebin.com/c8FLMypS

Повторюсь: я не считаю вторую реализацию правильной.

Время выполнения:
- первый способ: 0.00010488837868007572
- второй способ: 0.00012631238794238905
#233 #1042803
>>1042802
Для тестов использовались следующие значения:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
prime_numbers = [2, 3, 5, 7]
#234 #1042819
>>1042802>>1042803
Спасибо большое, анон, что уделил столько времени.
Буду сидеть, разбираться дальше.
Кстати, в первой реализации - ошибка. Для сравнение результаты первого и второго вариантов
#235 #1042826
list = [1, 5, 8, 3, 1, 6, 4, 7, 9, 2]

n = input()

if n in list:
print("Элемент есть в спике")

else:
print("В списке нет такого элемента")

Почему всегда выводит else? n в str пробовал переводить.

Если вместо n ввести например 7, то все работает.
#236 #1042827
>>1042826
input() строку возвращает.
Явно приводи n к числу: if int(n) in list: ...
И не называй переменные названиями встроенных сущностей.
#237 #1042835
>>1042827
Спасибо
#238 #1042838
>>1042819

>ошибка


Нет. Я же и написал вторую реализацию из-за этого >>1042767

Output отличается из-за количества перебора элементов.
Первая реализция - 152 перебора.
Вторая реализация - 228 переборов.

В каждой реализации разные условия, которые умножают натуральные числа. В твоем случае подходит вторая. Может, конечно, я неправильно понял задачу. Но ИМХО, первая реализация лучше и правильнее.

Причины:
1) Не вызывается функция, которая проверяет массив на наличие элементов, которые деляется на простое число.
2) Меньшее количество итераций по массиву.
3) Ну и, конечно, код чище и приятнее.

Работа первой реализации:
1) numbers будет перебираться ОДИН РАЗ.
2) number делится на prime_number ДО ТЕХ ПОР, пока остаток от деления не будет равен нулю.
3) multiple_number умножится на prime_number СТОЛЬКО РАЗ, СКОЛЬКО БЫЛ выполнен второй пункт.

Работа второй реализации:
1) numbers будет перебираться ДО ТЕХ ПОР, пока в numbers есть число, которое делится на prime_number.
2) ОДИН РАЗ перебираем numbers, и если число делится на prime_number, то заменяем его.
3) multiple_number умножится на prime_number СТОЛЬКО РАЗ, СКОЛЬКО БЫЛ выполнен первый пункт.

Может в этих пунктах я где-то ошибся, но думаю, что принцип ты понял. Счастливого кодинга.
#239 #1042847
>>1042764
Ахахх внатуре анально огородили. Ну молодцы, теперь только меденные кривые костыли писать. Добро пожаловать в век легального контента!
#240 #1042857
>>1042838

>натуральные числа


fix: простые числа.
12 Кб, 310x322
#241 #1042873
В питоне не силён, так что вопрос может показаться странным.

Как из json записать нужный мне ключ в переменную?
Например, из пика мне нужно записать айпишники в переменные.
Мне нужно перейти по ключу 'scan', а дальше что делать?
18 Кб, 665x150
#242 #1042875
На пике консоль ipython? Объясните зачем он нужен?
#243 #1042876
>>1042873
Добавь все ip в другой ключ.
data = {"scan": "ip": ["192.168": {...}]}
ip = data["scan"]["ip"]
#244 #1042877
>>1042876
invalid syntax
#245 #1042878
>>1042877

>{...}


Конечно invalid. Я тебе пример привел, а код пиши сам. ... - даные для этого ключа.
#246 #1042879
>>1042878
Нет, указывает на двоеточие после 'ip'
#247 #1042882
>>1042879
data = {"scan": {"ip": {"192.168": {"some_key": "some_value"}, "168.192": {"some_key": "some_value"}}}}
#248 #1042883
>>1042873
aypeeshneeque = %json_name%['scan'][1]
Синтакс как у словаря. Если не получается пройти по "ключ: значение", то ключ - порядковый номер, как в списках.
#249 #1042884
>>1042883

Так тоже пробовал, но выдает KeyError: 1
#250 #1042885
>>1042882
Так не подходит, я не могу менять сам json
#251 #1042886
>>1042884
Тогда 0.
#252 #1042888
>>1042886
С нулем тоже.
#253 #1042889
>>1042885
JSON файл не меняется, он перезаписывается.
Читаешь файл -> добавляешь значение -> создаешь (заменяешь) новый JSON.
#254 #1042890
>>1042888
Покажи код.
#255 #1042891
>>1042890
sc = nm.scan(hosts='192.168.1.0/24', arguments='-sP')
b = sc['scan'][0]
print(b)
#256 #1042892
>>1042891
Принтани сц. Может тип данных не тот, я ебу. Там либо по ключу строке, либо по индексу как в списках.
#258 #1042896
>>1042894
Ну так там совершенно другой путь.
['nmap']['scan'][0]
#259 #1042899
>>1042896
http://jsonviewer.stack.hu/
Вот тебе еще годная тулза, я пользовался ей поначалу, пока не понимал как работает джсон, и сейчас иногда, чтобы разложить огромные, которые влом читать.
81 Кб, 350x806
#260 #1042900
>>1042896
['scan'] не относится к ['nmap']
#261 #1042901
#262 #1042904
>>1042900
Хм, туплю. Есть так, то этот айпишник является ключом, а не значением. И этот путь ['scan'][0] сработает, если вместо нуля вставить айпишник.
#263 #1042908
>>1042904
Да, но мне нужно по-другому.
Мне нужно записать все ключи после ['scan'] в массив, допустим.
Как это реализовать?
#264 #1042909
>>1042904
т.е. в итоге, мне нужно получить все ип адреса в массиве и вывести их.
так я проверяю кто подключен к моему вифи
136 Кб, 1184x624
#265 #1042910
>>1042908
Надо считать их с другого места. Где-то там должен быть ключ, у которого значение - айпишник. Например где-то на пикриле.
#266 #1042911
>>1042908
>>1042882
data["scan"]["ip"]
#267 #1042913
>>1042911
А это мне разве не выведет только "192.168"?
#268 #1042916
>>1042913
Ты получишь словарь ВСЕХ ip адресов. А дальше делай с ними все что захочешь.

data = {"scan": {"ip": {"192.168": {"some_key": "some_value"}, "168.192": {"some_key": "some_value"}}}}
ip_data = data["scan"]["ip"]

print ip_data
print list(ip_data)

for key in ip_data:
print ip_data[key]["some_key"]
#269 #1042917
>>1042916
Выглядит правильно, но я не догоняю, как все это сделать.
У меня есть функция, которая возвращает dict. Как мне изменить его? Как добавить этот ключ ip?
не гоните тряпками, я только начал изучать пайтон
#270 #1042918
>>1042917

>добавить


Перегруппируй сам json, чтобы он имел структуру, которую я привел тебе в качестве примера.
#271 #1042946
>>1042317
Как раз питон и набирает. Постоянно, почти ежедневно приходят предложения о работе на постоянку. Банки предлагают и другие финансовые организации, хеджфонды всякие. Медицина ищет питонистов.
#272 #1043013
>>1042789
Бамп реквесту.
#273 #1043135
list(map(max, [1, 2, 3], [4, 2, 1])). Не понимаю, почему в выводе будет list из трех элементов. Пожалуйста, объясните.
#274 #1043146
>>1043135
max сравнивает каждый элемент из 1 листа на n-ой позиции с каждым другим элементом из 2 листа на n-ой позиции.

1 < 4 -> [4]
2 = 2 -> [4, 2]
3 > 1 -> [4, 2, 3]

И да, list не обязательно. map уже возвращает list.
#275 #1043147
>>1043135
[max(1, 4), max(2, 2), max(3, 1)]
Тебе надо list(map(max, [[1, 2, 3], [4, 2, 1]]))
14,8 Мб, webm, 720x480, 1:11
#276 #1043149
>>1043135
Почему?
10 Кб, 562x88
#277 #1043150
#278 #1043152
>>1043146

>map уже возвращает list.


Дядя, ты неправ.
#279 #1043153
>>1043152
Я говорю конкретно про его случай.
print type(map(max, [1, 2, 3], [4, 2, 1]))
#280 #1043155
>>1043153

> print type(map(max, [1, 2, 3], [4, 2, 1]))


SyntaxError: invalid syntax
#281 #1043156
>>1043155
В 3 питоне print - функция.
#282 #1043158
>>1043153
Ну так бы и написал, что ты ретроград некрофил.
70 Кб, 550x550
#283 #1043162
>>1043156
Спасибо, копетан!
#285 #1043260
>>1043253
Ну и нахуя ты сюда это говно принес?
#286 #1043261
>>1042789

>Я уже навернул официальный гайд с опросами и ебанутый на феменизме туториал от джанго-девок


Этого достаточно, теперь пиши свою имиджборду.
#287 #1043266
>>1043260
прост
45 Кб, 815x268
#288 #1043285
>>1040899 (OP)
Столкнулся с трудностями ещё ничего не изучив.
Пишу привет мир, все дела, выбираю Tools>Run_command>python3 и вот такая дичь выходит!
#289 #1043286
>>1043285
Скопируй пожалуйста ошибку в тред, я загуглю за тебя.
#290 #1043287
>>1043285
Просто пайтон. Без "3".
#291 #1043290
>>1043285
И вообще, зачем тебе Comodo когда есть пиздатый Pycharm с пиздатыми шрифтами.
9 Кб, 883x100
#292 #1043293
#293 #1043294
>>1043287
То же самое получается.
>>1043290
Попробую в нем.
#294 #1043301
>>1043290
Хм, действительно на Pycharm все получилось. Спасибо!
#295 #1043330
Аноны, на днях выкатил одно поделие (обертку над API для рукапчи, как и планировал, почти дописали с аноном) на PyPi, есть ли там какая-либо статистика скачиваний и etc, хоть что-нибудь с этим связанное?
#296 #1043337
>>1043330
https://kirankoduru.github.io/python/pypi-stats.html
За тебя тут гуглить должны?
Ты наверное и перед тем как писать забыл погуглить
https://github.com/lorien/captcha_solver
https://github.com/JeckLabs/aiorucaptcha
А это ваше поделие подозреваю https://github.com/AndreiDrang/python-rucaptcha
#297 #1043343
>>1043337
По-ходу их.

>.idea


И про gitignore видать не знают.

>flask==0.12


Вы че, ебанутые? Нахуя вам там фласк? Еще бы джангу в зависимости воткнули.
#298 #1043347
>>1043343
Ну пляшка у них для тестового сайта как я понимаю. Только вот нахуя оно в мастербранче действительно не ясно, ибо каждый будет качать пляшку вместе с ее кучей зависимостей просто так.
#299 #1043348
>>1043347
Не, ну ваще че это я, молодцы что пишите что-то. Поздравляю.
#300 #1043359
>>1043347
Да, это фейл, я лоханулся, думаем потом убрать эту ерунду т.к.и правда не нужна.
>>1043343
Знаем, это видимо на ранних стадиях проскочило, т.к. сейчас в гит.игноре прописано это все.
>>1043337
Спасибо за ссылку. Видимо не так как надо гуглил.
Насчет остального могу сказать лишь то, что я все это просматривал, когда выполнял заказ и ничего из этого не обладает полным функционалом и не покрывает все виды капчи.
Спасибо всем за отзывы и критику, все учтем и постараемся исправить. Тем более до конца еще далековато.
#301 #1043367
>>1043359
Ну тогда вам сверху накину, у вас там хардкод урлов, в т.ч айпи вашего сайта, подозрительные вайлтру без брейков. Конфиг бы вынести отдельно весь.
Рандомно файлы потыкал, ибо половина пустых. Не знаю что там еще. Создайте в конце концов dev бранч и там уже делайте пустые файлы и заполняйте их, а то невозможно смотреть код.
#302 #1043379

>Метод получает от вас ссылку на изображение, скачиваетего, отправляет изображение на сервер RuCaptcha, дожидается решения капчи и вовзращает вам результат


Откройте для себя удивительный мир BytesIO и TempFile, зачем мучать диск и проебывать скорость.
#303 #1043381
>>1043367
Насчет конфига понял.
Вайл тру там заканчивается ретурном, но если кашерней брэйк и затем ретурн - ок.
На днях заполним все файлы и лишнее удалим.
Спасибо за советы.
#304 #1043382
if answer.json()["request"] == "OK_REPORT_RECORDED":
print("Your report was sent successfully")
return True
else:
print("Smth went wrong. Error: ",answer.json()["request"])
return (False, answer.json()["request"])

Для этого придумали эксепшены.
#305 #1043384
>>1043379
Окай, чекнем.
#306 #1043387
>>1043382
В issues написано о эксепшенах - еще впереди.
#307 #1043390
>>1043387
Так бля нагородили уже костылей, понимать надо что одно за другим тянется. Потом с нуля писать будете.
Я бы вообще обмазался абстрактным классом-интерфейсом, который задокументировал бы, и к которому уже другие или ты сам легко писали бы плагины провайдеров.
#308 #1043392
>>1043390
Все по плану, не боись. Еще будет типа errors.py со всеми ошибками и описанием.
Насчет абстрактного класса звучит интересно, подумаем, спасибо за участие)
#309 #1043394
>>1040899 (OP)
хочу посмотреть на вашего питона
#310 #1043404
Пишу телеграм-бота при помощи python-telegram-bot. У меня есть несколько команд хэндлеров типа '/help', '/ophui' и т.д.
Как мне сделать хэндлер, который бы реагировал на любую команду через / кроме вышеперечисленных? Т.е. когда боту отпрравляют '/supdvach' - он бы обрабатывал строку 'supdvach', '/helloworld' - строку 'helloworld'. В документации не нашел.
#311 #1043405
Новый ньюфаг ИТТ. Дайте совет как лучше учить: если возникает вопрос "в сторону" от листинга в книге, то лучше найти на него ответ или не сворачивать с темы, изучить, что дали и пойти дальше по содержанию?

Например:
a = int(input())
if a < -5:
print('Low')
elif -5 <= a <= 5:
print('Mid')
else:
print('High')

Программа предлагает просто ввести int. У меня автоматически появляется вопрос про некую строку перед вводом, типа "Введи число: ()". Как сделать такое книжка умалчивает (возможно где-то дальше будет). Я понимаю, что следует учить синтаксис, но всё это в кучу у меня пока не собралось и быстро найти ответ на конкретный случай сложно.
Не пинайте за тупой вопрос. Последний раз что-то писал 15 лет назад в школе на бейсике, а сейчас занялся этим из интереса и переодическим желанием сделать тот или иной инструмент для себя.
#312 #1043407
>>1043404
Там есть фильтры.
#313 #1043417
>>1043407
Спасибо, я пиздоглазик про них прочитал по диагонали.
#314 #1043419
>>1043404
А можно, что бы бот реагировал и мог использовать то, что ему написали?
#315 #1043422
>>1043419
Эрегировал блядь.
Фильтр делай который хэндлит все команды кроме тех что у тебя уже сделаны.
Потом в хендлере этого фильтра update.message.text.split(' ')[1:] это и будет твоя команда.
Инженер ты или хуй собачий. Если второе то болтайся себе между ног да хуйни не спрашивай.
#316 #1043426
>>1043422

> Инженер ты или хуй собачий. Если второе то болтайся себе между ног да хуйни не спрашивай.


Зачем столько агрессии?
#317 #1043427
>>1043426
Я не в духе седня... ууух
#318 #1043430
>>1043427
Прости, просто гуглить лень, а тут такой момент, что спросить можно по теме
#319 #1043431
>>1043422
Это другой анон спросил, я уже решил свою задачу, кому интересно: http://ideone.com/wJymlK
#320 #1043433
>>1043431
Бля, в MessageHandler вместо test поставить foo, ну или наоборот.
#321 #1043434
>>1043431
Кастомный фильтр тебе нужен, иначе у тебя /help и /ophui тоже пойдет в хэндлер.
#322 #1043435
>>1043434
Не, нихуя, я проверил, этот фильтр стоит в коде после всех моих хэндлеров на обычные команды.
#323 #1043436
Киньте ссылку на конфу в телеграме плез
#324 #1043437
>>1043436
Че есть таковая чтоле.
#325 #1043440
>>1043437
Да есть огромная
#327 #1043443
>>1043440
Если там как в треде то нахуй не нужна
#328 #1043444
>>1043442
Сэнкс
#329 #1043445
>>1043442
Ну примерно так. Два сообщения о питоне на сотню мемных
#330 #1043464
>>1043405
Тоже начинаю учить Питон. Вот два примера об отходе в сторону.
1)Делая какой-то пример по создании таблицы я хотел записать её в файл. На ближайших страницах я ничего об этом не нашел и пока забил. Через 2 главы познакомился с open() и всем таким и записал все в файл как хотел.
2)Читая про Iterator'ы я нихуя не понял и решил загуглить, в итоге я прочитал статьи в википедии о различных парадигмах программирования и статью на харбре про функциональное программирование. Это помогло мне чуть меньше чем никак. Так что на это я пока положу хуй.
#331 #1043487
>>1043464
Спасибо. По какой книге учишь?

Алсо, еще вопрос: невозможность без костыля собрать .ехе файл не является для вас весомой проблемой? А то я как-то помечтал о портативности самопальных проектов и GUI и приуныл.
#332 #1043499
>>1043464
Просто программирование не твое. Это как не всем быть нейрохирургами.
#333 #1043507
>>1043487
summerfield python 3
>>1043499
Но ведь я охуеннен
#334 #1043508
>>1043487

>Алсо, еще вопрос: невозможность без костыля собрать .ехе файл не является для вас весомой проблемой? А то я как-то помечтал о портативности самопальных проектов и GUI и приуныл.


Является, не раз об этом говорил. Это огромный минус питона. Хотя никаких языковых ограничений для этого нет, Visual Basic 6 и Delphi могли же генерить нативный код с динамической типизацией (тип Variant).
На PyInstaller можно собирать .exe-шники, но он пихает в один файл все библиотеки, такой хоккей нам не нужен.
#335 #1043511
>>1043499
Любой дебил может, как это и есть в 99% случаев. Нейрохирургом да не всякий может.
#336 #1043515
>>1043511
Два чая. Нейрохирургу нужно долго учиться, и он не имеет права на ошибки. Кодить же можно обучить любую макаку.
#337 #1043516
>>1043511
Ну 99% случаев это жс, так что ты прав
#338 #1043517
>>1043426
>>1043427
Хули ты оправдываешься перед этим чурбаном?!
52 Кб, 490x604
#339 #1043538
Где доки удобно читать? Желательно формата как по JS на MDN.
https://docs.python.org/ или чё удобнее есть?
#340 #1043578
>>1043538
Ну доки обычно не читают как книгу, а обращаются к ним по надобности. Да, офишиалдоки это просто охуенно вылизанная штука как и сам язык.
#341 #1043600
Многоуважаемые, как обстоят дела с рынком вакансий онли по python? ? Какие это направления и востребованные ли?
#342 #1043601
>>1043600
Веб, машоб, работа с данными, автоматизация.
61 Кб, 520x640
#343 #1043608
>>1043601
Благодарю за ответ, веб -онли бэкенд? Для данных и машоба нужен ультра лвл матчасти?
#344 #1043615
>>1043608

>веб -онли бэкенд


Ну естественно. Есть транспайлеры в JS но такой экзотики никому не нужно.

>Для данных и машоба нужен ультра лвл матчасти?


Никогда не изучал. Но да, конечно понимание алгоритмов нужно. А так библиотека на библиотеке и библиотекой погоняет.
#345 #1043618
>>1043615
Сам Ml'ом занимаешься? Поделись своей историей.
#346 #1043620
>>1043618
Меня интересует только веб. Я не зарабатываю деньги программированием.
#347 #1043650
Целесообразно будет писать кейлоггер на питоне, или лучше под такие задачи что то более нативное, по типу C++ или C# ?
#348 #1043653
>>1043650
Пиши на крестах и решетке - будешь среди братвы в местах не столь отдаленных, как свой в законе.
77 Кб, 960x847
#349 #1043665
Что это за текстовый редактор? Как им управлять?
#350 #1043667
>>1043665
shift + :
e + enter
#351 #1043668
>>1043667

>e + enter


фу бля q + enter
#352 #1043671
>>1043668
>>1043667
Фу блять! Это Vi же десу! Меня еще в универе от него стошнило когда нам его показали.
#353 #1043673
Как из значения одной переменной сделать название другой, к которой надо обратиться?
Например:
ggg = 64
x = 'ggg'
print(...(x))
которое выводит не ggg, а именно 64, при этом использование самой ggg, очевидно, необходимо обойти.
Уверен есть что-то такое, помогите пожалуйста.
#354 #1043676
>>1043671
Но очко руки придется все-таки разработать. На vps сильно пригодиться.
#355 #1043677
>>1043676

>vps


Спешу тебя удивить, но я ни разу не пользовался виртуальными серверами.
#357 #1043686
nano > vi
Ноу дискасс.
#358 #1043688

>Using vi you can insert new text any place in the file quite easily.


Проиграл с бохатсва возможностей.
#359 #1043689
>>1043686
Pycharm > VS Code > другие IDE > современные редакторы > мамонтенков с вимами-хуимами.
#360 #1043691
>>1043689
Пишу в саблайме и не ебет, а нано лучший консольный текстовик на линуксе, я к этому.
#361 #1043692
>>1043684
Спасибо
#362 #1043693
>>1043677
Какая разница виртуальные они или железные, если там не винда.

Можешь вообще ничего не изучать, а сразу в начальники идти
#363 #1043695
>>1043693
Первый раз слышу что знание vim - это мастхев для кодера.
#364 #1043696
>>1043695
Не мастхев, а плюс в карму. Вдруг потеряешь работу с админами подтирающими задницу и пойдешь фрилансить.
#365 #1043700
>>1043696
Зачем учить то на чем не работаешь, все равно забудешь же. Я вот php бросил год назад и уже почти синтаксис не помню, не то что ларавел. Хотя писал на нём год.
#366 #1043705
>>1043700
и на что свичнулся?
#367 #1043709
>>1043705
Прокрастинировал год на маминых борщах и пару месяцев назад прошел все доступные языки на sololearn. Питон поразил своим синтаксисом и решил писать на нем. Хотя еще руби нравится.
#368 #1043710
>>1043709
Ебать ты профи. Тебе и вим не нужен
#369 #1043714
>>1043710
Не понял сарказма.
#370 #1043719
>>1043714
С работки на сололерн перекатиться очень круто.

>Вим не встречал


>PHP уже забыл


Хорошо бы было услышать от человека, который прошел огонь и медные трубы, тогда бы я убедился что vim в жизни не пригодится
#371 #1043723
>>1043719
Sololearn - хорошая быстрая обучалка незнакомым языкам. С вимом работал в вузе. На работке с сервером не я работал, хотя припоминаю что там что-то корректировали на ходу в текстовом редакторе. Огонь и медные трубы - это не про меня, я написал десяток лендосов, несколько многостраничников и пару магазинов.
#372 #1043724
Аноны можно еще как-то кроме user-agent и proxy замаскировать запросы к вэб серверу, чтобы он не забанил за частое обращение?
#373 #1043728
>>1043719
Не то чтобы он пиздецки как нужен, просто вим удобнее, если выучить хоткеи.
#374 #1043731
>>1043724
Увеличить таймаут между запросами.
#375 #1043734
>>1043676
Но есть же nano
#376 #1043748
>>1043734
Есть, но вим лучше.
#377 #1043754
Что у вас в кружке перед компом? Чай, морс, какао, кофе, сок уже надоели до тошноты. Квас еще прет. Раз в 4 дня беру пива.
#378 #1043757
>>1043748
Но зачем?
#379 #1043758
>>1043754

>Раз в 4 дня беру пива


И бабу. А задроты в очочках ошарашенные мимо ходят. Озираются.
#380 #1043802
Vim vs Emacs я ещё встречал, но вот Vim vs Nano...
Анончик, ты меня ооочень удивил.
#381 #1043805
>>1043802
имакса у заказчика на впс обычно нет, а vi с nano присутствуют.
#382 #1043806
Как удалить из строки символы \n \t ?

мимонью
#383 #1043814
>>1043806
Просто берешь и без задней мысли удаляешь.
96 Кб, 800x540
#384 #1043815
анчоусы где я объебался? https://pastebin.com/izD2AhAK
#385 #1043821
>>1043806
str.replace("\n", "")
str.replace("\t", "")
#386 #1043822
>>1043806
sed 's/\(\n\|\t\)//g' -i файл
#387 #1043833
>>1043821
А есть возможность склеить все в один replace? Скажем, нужно удалить и \t и \n и ещё какую-нибудь ебанину посреди текста. Использовать replace много раз хорошая практика?
#388 #1043839
>>1043833
В модуле регулярок поищи, там есть такое
Много реплейсов делать не надо, т.к. строки неизменяемы, то каждый раз будет создаваться новый объект на каждый реплейс
#389 #1043847
>>1043839
Разве после реплейса обьект не уничтожится?
#390 #1043851
>>1043847
Вот ты сейчас срачь с байтоебами спровоцируешь. Они очень гордятся, что в их языке нет сборщика мусора
#391 #1043879
>>1043847
Уничтожаются, но он сначало создается, потом уничтожается и так столько раз, сколько у тебя реплеев, если строчка большая, то это не очень эффективно
#392 #1043909
>>1043879

> это не очень эффективно


Так какой же питоник вей на этот счёт?
Пару дней назад решал задачу. Нужно удалить все html теги из текста, а так же строку "строка". Первый реплейс по регулярке очищает текст, второй удаляет "строка". А если бы нужно было ещё что-то удалить 10 раз? Не верю, что нет хорошего решения на этот счёт.
#393 #1043927
>>1043909
То что ты делал не питоник вей, уже есть готовая библиотека и метод под эту задачу, вот это уже питоник вей
#395 #1043947
>>1043933
Спасибо, что погуглил за меня:3
#396 #1043960
>>1043815
я понял где ошибся, ну и сделал по другому: https://pastebin.com/RwUwVytZ
#397 #1043963
>>1043879
Разве время на создание и уничтожение объектов не будет намного меньшим чем поиск модуля в файловой системе и его интерпретация? Или питон не запоминает в памяти последние загруженные классы и ищет код и интерпретирует при каждом создании объекта?
#398 #1043965
>>1043960
Фига ты там документируешь, тебе в технические писатели надо идти.
#399 #1043968
#400 #1043981
>>1043965
да блин каждый раз когда regexp у меня ступор на полдня, туплю дичайше, хз почему так)
#401 #1044132
>>1043806
\n чаще всего в конце строки, \t в начале, что мешает использовать str.strip()?
#402 #1044180
Питонусы, у меня в джанге творится какая-то дичь. Пишу значит тесты к микроборде, тест проверяет просто правильно ли выводится список борд по урлу по имени 'index'. Всё проходит, но при этом если short_name для ВТОРОЙ борды начинается со слова 'test ' или, например, называется 'test3', то reverse внезапно пытается брать не тот url, который я указал, а следующий (по имени 'board'), да ещё и будто бы args равному этому самому short_name выше. Я хуй знает, как он его берет и почему он так делает, есть идеи? https://pastebin.com/kdnGrZFz
#403 #1044185
>>1044180
Нельзя в именах джанги использовать слово test.
#404 #1044189
>>1044185
Но тогда почему если вообще убрать вторую борду, то с первой (которая называется просто test) спокойно работает? Да и это же строка, не может же быть так, чтобы джанга реагировала на любое test в строках, я не могу найти инфу про это.
#405 #1044192
>>1044185
Ок, я посмотрел трейсбэк и оказалось, что это тупил не этот реверс, а { url } борды в index.html. А тупил он потому, что в регэкспе url борды для short_name стоит [a-z]+, разумеется он не находил ссылки на борду по имени 'test3' и 'test blabla'. Case closed, слово test не виновато.
#406 #1044272
>>1043963
Встроенные библиотеки либо уже в байт-коде, либо написаны на сишке, так что время на интерпретацию почти не тратится
#407 #1044295
>>1044272
А последние загруженные классы запоминаются?
#408 #1044459
>>1044295
Вроде нет, если есть, то не так значительно по времени
#409 #1044471
Аноны, прошел курс ''Учим Python'' и прочитал byte of python, что посоветуете: учить flask/django или ещё читать книги?
#410 #1044474
>>1044471
Учи уже что-то. Почитать книги всегда успеешь.
К примеру, я вообще нихуя не читал, а только глянул синтаксис и сразу нырнул в requests и bs4
#411 #1044483
>>1044474
Скраппинг скоро нейроночки порешают, перекатывайся в них
#412 #1044485
>>1044483
И что мне те нейроночки? Шо они таки умеют?
#413 #1044487
>>1044485
Сможешь перекатиться на жапад, там питон в основном для нейроночек и данных
#414 #1044497
>>1044474

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

#415 #1044512
>>1044487
Не понял
>>1044497
Да, не первый. Не понял
#416 #1044544
>>1044474

>requests и bs4


А почему не scrapy?
#417 #1044546
>>1044483
Откуда инфа?
#418 #1044597
>>1044544
А чем он лучше?
64 Кб, 1388x542
#420 #1044745
Я в прошлом треде писал, что на питоне можно создавать трехмерные игры. Делается это в редакторе Blender. Я писал, что используется второй питон, но оказался не прав. Блендер использует ту версию питона, которая уставлена по умолчанию. То есть можно делать на третьем питоне.
Вот код http://ideone.com/nKrNns Когда вы нажимаете мышкой, то вокруг курсора создается 8 кубов по радиусу. Код брал из этого видоса https://youtu.be/ALfl4tebiQM
#421 #1044773
>>1044745
Лучшим подтверждением того, что питун используют в играх является список игр, которые сделаны на питуне
88 Кб, 1813x438
#422 #1044889
хелпаните с импортами плиз, пикрил.
нужно в файле (1 на пике) services/collector/protocols/v11/handler.py импортировать BaseHandler, handler
как на пике сейчас нормально импортируется, но нужно не используя collector т.к имя директории может быть произвольным.
пробовал так:
from ...core.base import BaseHandler, handler
ошибка:
from ...core.base import BaseHandler, handler
ValueError: attempted relative import beyond top-level package

у services.collector есть __init__.py, может как то там хитро можно определить?
#423 #1044894
>>1044889
Короче все пути к модулям в питоне высчитываются относительно точки входа. Ты можешь запустить любой модуль если он находится на одном уровне с точкой входа или на подуровне, иначе запустить нельзя и надо регистрировать модуль в python path.
#424 #1044895
>>1044894
ну это понятно, а мне то как быть?
#425 #1044903
>>1044895
Если ты хочешь импортируемый модуль, то вставляй его в каталог/подкаталог с точкой входа. Инициализируй его по имени, а импорты пиши в __init__ модуля.
#426 #1044904
>>1044903
структуру каталогов менять уже нельзя... поэтому надо сработать с тем что есть
#427 #1044909
>>1044904
Отбитая собака, тебе все уже пояснили. Пошел на хуй.
29 Кб, 521x373
#428 #1044910
Привет!
Хочу втянуться в асинхронный Python, конкретно в asyncio.
Не могу найти хороших гайдов.
Офдоки сухие, а гайды старые, где еще нет сахара async/await и все на декораторах.
Подскажите что-нибудь.
И разжуйте, когда я буду с этого иметь выгоду перед последовательным исполнением? i/o операции это я так понимаю работа с диском и сетью?
#429 #1044918
>>1044909
что ты мне объяснил довен!?
ты мне объяснил как из вложенного модуля импортировать
from base.VARIOUS_MODULE_NAME.core import MyClass ??? не используя VARIOUS_MODULE_NAME?
#430 #1044921
>>1044918
Собака сумасшедшая, пошел на хуй.
#431 #1044925
>>1044910
Не страдай, ставь сразу 3.6 и используй async/await.

Ахуй намбер раз: по-настоящему асинхронное i/o с диском у тебя не получится, сами ОС херово в него умеют, поэтому вариант только спавнить отдельный тред, где уже выполнять задания на i/o из основного потока.

Иначе выражаясь, асинк тебе поможет только на сокетах, пайпах (в том числе с дочерними процессами). Ещё планировщики на асинке делать удобно (где много разных sleep, call_at). Ещё парсеры, одним потоком можешь делать хоть тысячу одновременных http запросов.
#432 #1044928
>>1044925
3.6 и так стоит. Сейчас нужно вот например делать много запросов разных, и я думаю что пока они делаются можно было бы обработкой CPU забить вместо еблования. Как это сделать в aiohttp напрмер я нашел, но понимания нет нихуя.
Очереди тоже пригодились бы, сейчас пытаюсь строить распределенную сеть на Celery спецом физически разделяю воркеры потомуша не знаю асинка.
Так есть какие-то ресурсы современные? Документация похожа на автоген из докстрингов.
#433 #1044930
>>1044925

>сами ОС херово в него умеют


Но венда то вроде умеет.
#434 #1044932
>>1044928

>Как это сделать в aiohttp напрмер я нашел, но понимания нет нихуя


вот так: https://pastebin.com/5XraaUA5
#435 #1044933
>>1044932
Да код-то я смог под задачу ебнуть. Я имею ввиду что нихуя от этого понимания не появилось.
#436 #1044936
ну пробуй всякие примеры, дебаж, смотри что и как, что я могу сказать.
#437 #1044941
>>1043013
я начал учить по видосам Майка Хилберта. У него по олдовой версии, но это заставляет искать различия и делать правильно на текущей. Что нихуево развивает. Рекомендую.
https://www.youtube.com/watch?v=oT1A1KKf0SI&list=PLxxA5z-8B2xk4szCgFmgonNcCboyNneMD
#438 #1044953
>>1044930
Пруф.
#439 #1044956
>>1044932
Вообще не понимаешь, как работает асинсхронность?
Грубо говоря:
Я кидаю в тебя палку. В ответ от тебя должен прийти крик, что я попал или тишина, если нет.
Я кидаю десяток камней и жду. Первый камень прилетел, ты крикнул. Второй промазал(ты промолчал, а я выждал 10 секунд). Как только ты крикнул, я бросаю тебе мячик. И так далее.
хуйню написал и рад
#440 #1044957
>>1044928
>>1044956
Промазал.
#441 #1044958
>>1044956
Не, ну не настолько не понимаю.
Суть понимаю, синтаксиса не понимаю. Семафоры, переключения и прочая поебень меня сразу встречает с порога в документации, я чувствую себя в какой-то секте, где все просвещенные секретным знанием, а я как хуй с горы пришел.
Просто вижу тут многие пишут на нем, да и сам много пакетов повидал на асинке, значит как-то же учат.
#442 #1044959
Кстати я верно понимаю что какой-нибудь пакет напрмер для работы с API если внутри написан на том же синхронном requests, обернуть в асинк не выйдет?
#443 #1044961
>>1044959
Ну всмысле выйдет только не будет толку ибо интерпретатор не знает где ему переключиться.
#444 #1044963
>>1044959
любой синхронный (блокирующий io) код можно обернуть в тред и выполнить не блокируя, через thread_pool_executor или process_pool_executor
#445 #1044964
>>1044963

>обернуть в тред


fix обернуть в тред или процесс
#446 #1044966
>>1044964
А, ну это ясно. Жирно просто будет делать по треду на каждое изображение в dropbox.upload((image for image in cock_images)). Тут уж действительно проще руками вроппер на aiohttp переписать.
#447 #1044968
>>1044964
А коллбеки есть какие-то? Как проссать что результат в треде готов и получить его в основном треде?
#448 #1044976
>>1044968
Есть
#449 #1044981
>>1044953
https://goo.gl/ZiQDiF Ебучая мочепараша не дает прямую ссылку вставить.
#450 #1044983
>>1044968
Забудь про коллбеки. Суть await именно в том, что не коллбеков для тебя. Ты просто ждёшь результата в этой точке.
#451 #1044987
>>1044981
Немного со статьёй обосрался, но и эта норм.
#452 #1044988
>>1044981
Бля, да с тем же успехом я могу сказать, что time.sleep() асинхронный. Смотри:
def async_sleep(t):
....start = time.time()
....return lambda: time.sleep(max(0, start + t - time.time())
....partial(time.sleep, t)
handler = async_sleep(10)
print("ha-ha look, it's async!")
x = 2 100
print(x)
print("okay, waiting for sleep...")
handler()
print("done")

Это же совсем другое. Если это нельзя вставить в селект, то это не асинк с точки зрения пифона.
#453 #1044992
>>1044988

>....partial(time.sleep, t)


что за партиал?
#454 #1044996
>>1044966
Для этого есть замечательный Pool().
#455 #1045001
Задача. Создайте собственную программу «Адресная книга», работающую из командной стро-
ки и позволяющую просматривать, добавлять, изменять, удалять или искать контактные
данные ваших знакомых. Кроме того, эта информация также должна сохраняться на дис-
ке для последующего доступа.
Так вот, я значит создал класс, создал словарь и дуплил, как запихнуть экземпляры класса со всей инфой в этот сраный словарь. Прочитал подсказку, оказывается я всё делаю правильно, но как сделать то, о чём я написал, там не написано. В гугле годной инфы не нашел. Хелп.
#456 #1045004
>>1045001
Какой класс создал? Можно реализовать класс собственный словарь, который умеет в добавление\сохранение\поиск
#457 #1045006
>>1044996
Ахуенна! А че я баклан еще не знаю о питоне.
#458 #1045007
>>1045004
можно пожалуйста пример?
#459 #1045009
>>1044992
Да не удалил мусор. Он же после return, считай его нет.
#460 #1045011
>>1042619
Можно в цикле requests get запустить и всё
53 Кб, 1284x512
#461 #1045019
Что-то в профайлере вижу только 4 треда, хотя пул настроен на 10, да и аргументов в мапе там больше 10.
#462 #1045020
>>1045019
А, я дебил, не обращайте внимания.
#463 #1045024
>>1045007
https://ideone.com/JZnZdU
На ошибку не обращай внимание, там питун старый и нет краткого форматирования
#464 #1045028
>>1045024
Не проще ли от словаря класс наследовать?
#465 #1045031
>>1045028
Можно от userdict, но все равно придется переопределять методы, если экзепшоны хочешь ловить и выдавать, что то типа "Такого ключа не существует", вместо кей эррора
85 Кб, 587x216
#467 #1045035
>>1045034
Чуть чуть исправь
#468 #1045036
>>1045035
Так в данном случае методы не переопределяются.
#469 #1045037
>>1045036
Ну это просто рекомендация, типа лучше никогда не делать прямого наследования от встроенных типов, что б прям совсем питоник вей
#470 #1045045
>>1045035
Мамой не поклянусь, но кажись в самых новых версиях сиё непотребство уже исправлено.
Сам наследовал и насиловал built-in dict, он не жаловался.
#471 #1045069
>>1045024
>>1045034
а что за энкодинг?
#472 #1045077
>>1045069
По умолчанию файл создается байтовый, потому нужно переопределить на utf
#473 #1045190
>>1044773
Вы один из тех, кто найдет миллион причин, чтобы нихера не делать.
#474 #1045201
>>1045190
Можно и трамвай из хлеба делать, но зачем?
Питун явно просядет по скорости в реальном проекте, а не в сталкивании камней в синтетике
#475 #1045226
>>1045201
У тебя не просядет.
#476 #1045234
>>1045201
Товарищ, не будем забывать о PyPy
#477 #1045235
Мимо из /wrk - какого уровня знания пайтона ожидают от сисадмина? Что могут спросить на собеседовании?
#478 #1045250
>>1045235
На уровне if/for
#479 #1045254
>>1045250
Не много, сисадмин должен скрипты писать уметь, не больше, тебя по линуху дрочить будут
#480 #1045256
>>1045250
Блджад, понятно, что синтаксис языка все худо-бедно помнят. Я имел в виду какие модули, типы данных и т.п. могут спросить.

>>1045254
С линухом как раз внятно пишут в вакансиях чего хотят.
#481 #1045263
>>1045019
Как ты эту хуйню вывел?
Для асинка такое же есть?
Сук, сколько не искал - нихуя, в diagram тыкал, но там мне выдавало пустое поле с бегущим ползунком времени.
#482 #1045264
Почему sqlalchemy (да и любая ORM) - такое говно? Почему приходится 9000 часов гуглить, чтобы выяснить как вместо INSERT ... выполнить INSERT IGNORE?
С одной стороны, меня заебало клепать однообразные запросы и лезть в модель при любом изменении в бд, с другой - орм это какое-то невероятное увеличение сложности.
#483 #1045265
>>1045263
Ну да, на соседней вкладке же, asyncio graph.
Я не знаю как отдельно вывести, вроде CProfile в PyCharm используется.
Если у тебя пишарм - то show concurrency diagram кнопка рядом с run. Но у меня PRO версия, может в комьюнити нету.
#484 #1045266
>>1045235
Чита за модули типа os(и прочие, для работы с ФС), модули для работы с сетью.
Ну а вообще многое зависит от того, что ты собрался писать и как упрощать себе жизнь.
#485 #1045267
>>1045265
И у меня про, кнопка эта есть, потыкаю активней сегодня.
#486 #1045268
сосоны, купил pycharm
#487 #1045272
>>1045256
os, sys, работа с файлами, может по бд что нибудь спросят
#488 #1045274
>>1045256
наверное у вас у админов файлы то огромные, и текстовые в том числе? и распарсить их было бы хорошо в несколько потоков...? и пожать/распаковать надо бы уметь из питона? ну и вообще уметь бы из питона юзать разные не питон проги.. гит опять же надо пару раз пулл пуш при автоматическом деплое... дальше сам продолжи)
#489 #1045276
>>1045268
Украсть религия не позволяет?
#490 #1045278
>>1045276
воровал 3 года..., но надо ребят отблагодарить, я другой такой иде не знаю.
#491 #1045284
>>1045278
Если ты ребят отблагодарить хочешь то найди их координаты и заплати.
А так ты кормишь в основном СЕО и верхушку, которая на потеху народу снимает видосики как они охуенно дружат с командой и заботятся о них.
#492 #1045299
>>1045274
Ну огромные файлы - это у аналитиков. Логи слшиком больше - признак дурного тона, т.к. найти в них один хрен ничего невозможно.

Работать с файлами, регэкспами - это да, но я умею.

А вот как в гит add и commit сделать - ХЗ как - можешь подсказать какой модуль использовать?
#493 #1045306
>>1045299
GitPython, или через ос и сабпроцесс или через просто командную строку
#494 #1045310
>>1045306

>или через просто командную строку


Тогда уж проще наебашить:
#!/usr/bin/env bash
cd gitfolder
git add
git commit -m "'$(date)'"
А чтобы git push origin master не делать каждый раз, добавить в .git/hooks/ файлик:
$cat post-commit
#!/usr/bin/env sh
git push origin master
#495 #1045312
>>1045284
Если бы ребята сами писали, то запилили бы еще один редактор с подсветкой синтаксиса.
#496 #1045316
>>1045299
дурак? дурак.
#497 #1045317
>>1045316
промазал
>>1045284
#498 #1045403
Анон, часто вижу в выбранном учебнике Питона что-то про передачу файлов через командную строку. Типа "All of the snippets are taken from the checktags.py program,
a program that reads all the HTML files it is given on the command line
and performs...".
О чем это? Это надо открыть cmd через win+r сижу на шинде и писать что-то типа 'C:\путь к питону\python3.6.exe а вот тут уже перечисление путей к файлам' ? Зачем сие нужно? И в примерах часто есть использование sys.argv[], которая должна выводить список переданных в питон файлов. Я запускаю свои программы не через длинный вызов через cmd, а в PyCharme. И файлы можно открывать через open(). Зачем все сие нужно?
#499 #1045410
>>1040876
что типа такого, внизу еще при помощи ООП наговнокодил

https://ideone.com/WNQnFY
197 Кб, 706x527
#500 #1045421
>>1045045
Ругаться он не будет, просто в один прекрасный момент можно случайно прострелить себе ногу
#501 #1045440
>>1045403

>Зачем все сие нужно?


Нужно что, pycharm, cmd, передача пути в качестве аргумента?
#502 #1045457
>>1045440
Передача файлов таким странным образом. Нужно открывать cmd и писать 2000000000 разных путей вручную. Зачем, если я могу сделать нормальную функцию с open()?
#503 #1045466
>>1045403
Работать с аргументами командной строки нужно потому, что именно так пользуются готовыми программами/скриптами без GUI — вводят
$ python myscript.py fileToProcess1 fileToProcess2
ну или даже если разрешено исполнение:
$ myscript fileToProcess1 fileToProcess2

Ты же не думаешь, что пользователь твоей программы/скрипта будет лезть в твой исходный код и в open вводить свой файл, который ему лично надо обработать твоим скриптом, вручную?

Более того, не обязатально каждый раз прописывать путь до python.exe, он и так должен быть у тебя в PATH.
#504 #1045470
>>1045466

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


Можно сделать и интерфейс в консольке же. И поиск по папкам нужного файла и всю прочую хуиту. Но так понял, спасибо.
#505 #1045497
>>1045470
Ну можно, но это в 99.9% случаев нахуй не надо, потому что пользователю в итоге легче ввести $ yobascript ~/Documents/file.html и получить результат, чем тыкаться в консоли. Больше толку уже сделать гуй.

Какое охуенное название для нового модного языка, yobascript, пойду патентовать.
107 Кб, 814x533
#506 #1045501
Как изменить переменную text внутри метода?
#507 #1045503
>>1045457
Ты о чем вообще?
Если я правильно тебя понял, то имеется ввиду открытие программы с каким-то файлом в виде аргумента. Open() это чистый хардкод, а в случае с аргументным открытием ты можешь из консоли запускать сразу же свою программу с другим, абсолютно любым файлом в виде аргумента. Например ты делаешь блокнот какой-нибудь и пишешь в консоли python3 notepad.py -open=~/textfile.txt
И он сразу же запустит твой блокнот с открытым файлом textfile из домашней папки.
Если неправильно понял, уточни.
#508 #1045504
>>1045501
Через точку, не?
classname.methodname.varname = ..
#509 #1045510

>pic 1


В базу данных тоже не записывается. ЧЯДНТ?

>>1045504
Так нельзя сделать вроде как.
#510 #1045511
Как RTS запилить на питончике?
98 Кб, 1367x721
#511 #1045512
>>1045504
>>1045510
Через classname можно сделать.
А как изменить внешнюю переменную по отношению к классу?
#512 #1045516
#513 #1045518
>>1045516
Что self?
#515 #1045531
В общем делать надо было через nonlocal https://docs.python.org/3/reference/simple_stmts.html#the-nonlocal-statement
Но теперь я понял что у меня не запускается spider.
#516 #1045536
>>1045024
я не могу врубиться, какую функцию выполняют setitem и getitem? можешь объяснить ?
161 Кб, 480x854
#517 #1045540
#518 #1045544
>>1045536
setitem, магические метод отвечающий за присвоении по индексу a = c
getitem отвечает за получение значения по индексу a
Когда сам их определяешь, то можешь извращаться как хочешь
#519 #1045549
>>1045544
Блядь, мобильный клиент сожрал скобки
setitem a = c
getiten a
#520 #1045550
>>1045549
Блядь, что происходит?
#521 #1045556
>>1045544
мб вернее будет сказать не по индексу а по ключу?
#522 #1045558
>>1045544
def __init__(self):
self.storage = {}
а вот это получается для каждого экземпляра класса свой собственный словарь?
160 Кб, 1680x1050
#523 #1045568
Я понять не могу, это как ?
7 Кб, 423x51
#524 #1045569
>>1045568
Бля, забыл сохранить обрезанный скрин, вы уж извиняйте.
#525 #1045572
>>1045558
Да, __init__ определяет, какие атрибуты будут созданы при создании объекта класса
#526 #1045575
>>1045568
Из-за тире под регулярку не попадает.
#527 #1045580
>>1045001
Анон, тоже только вкатываюсь в Питон и случайно увидел этот пост. А зачем делать отдельный класс под такое? сам до классов ещё не дошел Почему не использовать обычный словарь, где имя и фамилия-ключ, а все остальное - значение?
#528 #1045584
>>1045580
Ооп для удобства сделано, можно реализовывать как тут >>1045410 Но когда начнешь писать код больше 100 строк, то поймешь, что надо бы все как то структурировать
#529 #1045585
>>1045575
Спасибо
#530 #1045637
>>1045572
я имел ввиду что для каждого экземпляра создаётся собственный словарь или все экземпляры попадают в один словарь?
#531 #1045638
>>1045572
я имел ввиду что для каждого экземпляра создаётся собственный словарь или все экземпляры попадают в один словарь?
#532 #1045671
>>1045501
Ты про изменение text внутри parse? Допиши nonlocal text в начале метода, тогда он не будет пытаться создать новый text.
#533 #1045696
>>1045638
Первое
#534 #1045703
>>1045201

>>Питун явно просядет по скорости в реальном проекте


Ты дурак и не лечишься. Я же говорю про Блендер! Он питон использует всего лишь как скрипт-сценарий. В Блендере же есть собственный компилятор от с++.
#535 #1045720
>>1045703
с раками беседовать это как с копипастой разговаривать)
#536 #1045736
>>1045720
Студентам сейчас питон дают как обучающий язык, в результате ловим лулзы.
#537 #1045747
>>1045736
А вот и илитные борщехлебы-разработчики игр на питоне, так где список игр на нем?
#538 #1045794
ИДИТЕ НА ХУЙ УЁБКИ
#539 #1045820
>>1045794
Учил питон ради работы, что ли?
164 Кб, 719x939
#540 #1045915
1. Зачем в питоне if !foo заменили на if not foo?
2. Почему twisted.reactor нельзя запустить несколько раз. Он вылетает с ошибкой ReactorNotRestartable. Что за бред? Какая ему разница сколько раз он запускается?
33 Кб, 328x631
#541 #1045932
Что-то я орнул маленько с работоспособности grequests в Python 3.6.
37 Кб, 339x626
#542 #1045934
>>1045932
А хотя нет, не орнул. Оказывается он с созданием списка долго возился а я его в асинковый бенчмарк засунул.
#543 #1045946
аноны, как сделать так, чтобы "Ты что, дурак блять?" повторилось один раз, а не бесконечно?
https://repl.it/KOFB/1
#544 #1045947
>>1045946

>while True


>____while True


wut?
#545 #1045966
Ну перекатите, ну будьте же людьми
#546 #1045995
>>1045966
Возьми и перекати, если тебе так надо.
#547 #1046026
>>1045747
Ну вот получишь ты этот список и че дальше?
#548 #1046058
Рыбята, как вкатиться в нейросети сквозь питончик
Очень надо, прям в промежности жжет
#549 #1046061

>ВАЖНО


Пачаны, собираю программу на PyQt5 в один статический файл с помощью pyinstaller и заметил, что любая программа весит где-то 15mb.
Ваши предложения, как можно уменьшить вес? Если делать в Ubuntu, то файл получается 35mb.

Еще такой вопрос, вроде бы лицензия запрещает делать статическую линковку с Qt5 библиотеками, но ведь вроде pyinstaller это что-то типо архива и по сути библиотеки статически не линкуются, не??

Как думаете, если создатели Qt5 узнают, сильно ли возьмут за яйки?
#550 #1046083
Задал вопрос в ML-треде, но продублирую и здесь >>1045959

Есть кусок кода на Шарпе для шарпо-обертки для XGBoost. https://pastebin.com/pZsvvwU4
Почему-то XGBoost выдаёт совершенно одинаковые результаты какие бы параметры я не менял. Кроме objective, он меняет алгоритм.

> Так вот, никто не мог бы помочь и набросать пару строк на Питоне? В общем, есть файл input.json, там объект с четырьмя полями: TestInput (float[][]), TestOutput (float[]), TrainInput (float[][]), TrainOutput (float[]). Мне нужен кусок кода, который загрузит эти данные из файла и подаст на XGBoost (сам файл я переподготовлю, чтобы в нём вообще ничего было менять не нужно, и оставалось бы только подать его на библиотеку для обучения). Ну совсем в идеале также перебрать метрики и бустеры как это делаю я.


Я уверен, что там строк 5-10, но я Питон вообще не знаю и не представляю как прочитать файл и распарсить JSON. Тем более я даже не знаю во что он там распарсится, нужно ли строить карту объекта (как в Шарпе) или оно само сработает, как в PHP и JS

Заранее спасибо :3
#551 #1046101
>>1046061
Чтобы не иметь проблем с лицензиями, был создан альтернативный вариант PySide. https://wiki.qt.io/PySide
Если ты собираешься прогу продавать, то думаю могут возникнуть проблемы. Насчет уменьшения веса, ну не знаю, по нынешним временам 35 мб - это даже не вес, а пустяк. Уменьшить можно, используя сжатие. В настройках pyinstaller можно поставить флаг сжатия.
#553 #1046169
>>1046103
И шо это такое
#554 #1046171
Что-то ступор возник у меня.
SQLAlchemy.
На входе имеем список, например ['nastya', 'lisa', 'vika'].
А в базе хранится в столбце куча таких имен. Нужно выделить все записи, кроме тех, у которых имя из списка.
Что-то я подумал что итерировать по всей таблице и проверять что имя в списке это нихуя не оптимально, и наверняка в SQL есть прикольчики для этого.
#555 #1046172
>>1046171
Может кто внутренности ОРМ знает, я не в курсе, может там все лениво сделано и ОРМка меня поймет и не будет лишней хуйни делать?
#557 #1046254
>>1046227

> руководство для специалистов по работе с данными


Здрасьте приехали
#559 #1046315
>>1045946
break добавь больной
#560 #1046361
>>1046083
https://github.com/dmlc/xgboost/blob/master/demo/binary_classification/README.md lol, оказывается xgboost поддерживает работу из-под консоли, принимая файл конфигурации на вход. Так тоже сойдёт. Так и сделаю
#561 #1046406
>>1046361
Откуда начать машоб, учитывая что я не знаком с математикой и уже давно забыл вузовскую программу?
Скачал MIT книгу Machine Learning, там сразу векторы-хуекторы. Я так понимаю, типикал алгоритмы уже включены в поставку всяких пакетов и это лишнее?
#562 #1046600
>>1046254
Там всё разжевывается, ты почитай, а не говном кидайся сразу.
Тред утонул или удален.
Это копия, сохраненная 2 сентября 2017 года.

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

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