М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 14 июля 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

633 Кб, 577x660

Python Thread 15 Июн, 22:35 #770407 В конец треда | Веб

Шапка: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Код вбрасывать в тред через https://ideone.com/
Прошлый: >>763449 (OP)

Ответы>>770412>>772941>>774829>>776042>>776628>>778510

15 Июн, 22:37 #2 #770412

>>770407 (OP)
Кто сколько kk в наносекунду зарабатывает?

Ответы>>770886>>770887>>774011

15 Июн, 22:38 #3 #770414

Вкатился, захейтил Джангу и ебучую книгу Django by Example.

Ответы>>770418>>772963

15 Июн, 22:40 #4 #770418

>>770414
НИАСИЛИЛ

Ответы>>770503

15 Июн, 22:52 #5 #770430

Опорожнил мочевой пузырь на джангомакак. Фласкогосподин неторопливо входит в тред.

Ответы>>770506

15 Июн, 22:58 #6 #770436

text = open('file.txt').read()

Такое выражение оставит файл открытым?
Алсо если нет. то получается, то gcведь в питоне есть gc, да? удалит объект, и при его удалении вызавится метод закрытия, я правильно понял?

Ответы>>770438

15 Июн, 23:01 #7 #770438

>>770436
Да, файл останется открыт, но gc удалит объект и закроет его.

15 Июн, 23:20 #8 #770453

Анон, в Tornado, когда использовать?

15 Июн, 23:24 #9 #770458

Анон, в Tornado, когда использовать декоратор ген.корутин а когда асихронос? Первый, как говорят, доки, когда есть коллбэки в методе и надо дополнительно вызывать self.finish(), а второй, когда есть yield возвращающий Future, так? Т.е. можно и так и так, как удобнее, или надо смотреть, что делает сам метод?

Ещё пара вопросов по Торнадо от новичка:
1) Асинхронный метод выполняется в основном потоке программы, там как раз и действуют лёгкие потоки и epoll/kqueue, так?
2) Если операция блокирующая она таки заблокирует весь IOloop?
3) Какие операции блокирующие, какие нет? Торнадо, я так понимаю, предоставляет набор неблокирующих операций, в т.ч. драйвера к бд и т.д., а чтобы самому написать таковую надо спускаться на уровень Си?

Ответы>>770510

15 Июн, 23:25 #10 #770459

ген.корутин или асихронос на ангельском в спам-листе ололо, моча охуевшая

121 Кб, 1023x575

15 Июн, 23:34 #11 #770463

Посоны, поясните, как этот суп реализовать на lxml?

target = soup("tag", {"name_class": "value_class"})
target[0].get('href'))
target[0].text

Ответы>>770529

66 Кб, 588x600

16 Июн, 00:08 #12 #770503

>>770418
А я дропнул.

Ответы>>770504

16 Июн, 00:09 #13 #770504

>>770503
>не

30 Кб, 577x333

9 Кб, 104x109

16 Июн, 00:09 #14 #770505

Почитал Лутца и Бизли. Если явно указывать, то работает. Возникает другой вопрос, а почему счетчик на срабатывает в лупе? Вот посмотрите на скрин.

Ответы>>770570

16 Июн, 00:10 #15 #770506

>>770430
Подставил свой рот и всё выпил чтобы не досталось джангомакакам.

другой фласкогосподин

16 Июн, 00:24 #16 #770510

>>770458
1) Да
2) Да
3) Блокирующие все, кроме тех, что вызываются с await (в торнадо не знаю как это выглядит в данный момент)

16 Июн, 00:47 #17 #770529

>>770463
doc.xpath('//tag[@name_class="value_class"]/@href/text()')

Ответы>>770679

16 Июн, 02:37 #18 #770570

>>770505
Ошибка оказалось простой
>row = curs.fetchone()
Я помещал внутрь цикла, а надо было над циклом.

Ответы>>770632

16 Июн, 07:27 #19 #770632

>>770570
Короче row = curs.fetchone() должен быть все же внутри цикла, если вынести за пределы, то случится бесконечный цикл. Но счетчики внутри цикла работают. Сама парадигма - неверная. Я от неё ушёл. Анон в предыдущем тренде сказал мне умную фразу и это привело к созданию рабочего кода. Первый шаг узнает сколько рядов в таблице, второй шаг считывает линки из базы для проверки, третий шаг ряды из первого этапа используются в лупе до окончания списка, в этом лупе происходит обновление базы. Как-то так, но работает исправно.

16 Июн, 08:40 #20 #770679

>>770529
Спасибо.

16 Июн, 11:21 #21 #770759

В чем цимес scrapy? Типа бигдата, обходить дохуя адресов искаропки? А как там с тредами и одновременными хуйнями, там вообще многопоточность по умолчанию включена?
Мне вот заказчик говориn спарсить дохуя хуйни за мало времени, мне же не надо будет ебаться с какими-то там настройками, просто пишу че откуда парсить и всё?

Ответы>>770769

16 Июн, 11:44 #22 #770769

>>770759
>В чем цимес scrapy?

1) асинхронщина
2) единообразие
3) всякие пайплайны

Ответы>>770775

16 Июн, 11:50 #23 #770775

>>770769
Так асинхронщина эта работает сразу, без дополнительных настроек? Или по умолчанию всё медленно проходит через очередь?

Ответы>>770810

16 Июн, 12:23 #24 #770810

>>770775
да, сразу, там вроде есть параметр, сколько запрососв конкуррентно обрабатывать

Ответы>>770819

16 Июн, 12:30 #25 #770819

>>770810
Бля, вот это охуенчик.

16 Июн, 12:46 #26 #770833

Где можно найти хорошо закомментированные куски кода?

Ответы>>770848

16 Июн, 13:16 #27 #770848

>>770833
https://docs.python.org/3/library/

16 Июн, 13:54 #28 #770886

>>770412
эт те в раби тред

16 Июн, 13:54 #29 #770887

>>770412
у нас тут счет на мм

16 Июн, 14:42 #30 #770941

Антон, можно ставить Джанго 1.10 уже? Какие там плюхи появились? Я в английский не очень могу играть, разобрал только "Official support for Unicode usernames". Можно делать русские имена без траблов))

16 Июн, 14:47 #31 #770951

Как в Джанге получить записи из таблицы, если есть массив id? Делать через for и каждый раз что-ли обращаться к модели: model.object.get(id=переменная)?

Ответы>>770956

16 Июн, 14:51 #32 #770956

>>770951
filter(id__in=id_tuple)

Ответы>>770959

16 Июн, 14:53 #33 #770959

>>770956
спс

16 Июн, 18:29 #34 #771220

Питонач, а что делать если я получаю .css и <canvas> как их хранить в бд? Объясни на пальцах. Джанго 1.8.

Ответы>>771221

16 Июн, 18:29 #35 #771221

>>771220
mysql 5

16 Июн, 21:33 #36 #771377

Народ, а как делать exe? cxfreeze рулит? Поделитесь опытом.

Ответы>>771391>>771392>>771395>>771731

16 Июн, 21:46 #37 #771391

>>771377
>py2exe

16 Июн, 21:46 #38 #771392

>>771377
>py2exe

16 Июн, 21:49 #39 #771395

>>771377
Я pyinstaller'ом делаю, больше ничего не запустилось. Win10.

Ответы>>771405

16 Июн, 22:03 #40 #771405

>>771395
Спасибо. У меня тоже win10

16 Июн, 23:23 #41 #771501

Анон, где можно попробовать себя в швабодном opensourse проекте? Тикеты-хуикеты вот это все.

Ответы>>771569

17 Июн, 00:05 #42 #771569

>>771501
На гитхабе. Или просто коммить в то, чем пользуешься. На линуксах оче нмого тулз так или иначе завязаны на питон. Мой первый коммит был в wicd, например.

56 Кб, 400x527

17 Июн, 00:14 #43 #771584

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

Ответы>>771586

17 Июн, 00:15 #44 #771586

>>771584
Знаю немного джанго. В целом это всё.

Ответы>>772640

118 Кб, 872x637

17 Июн, 01:47 #45 #771636

Вот почему в одном случае всё норм а в другом методе это:
>UnboundLocalError: local variable 'cd' referenced before assignment

Ответы>>771642

17 Июн, 01:59 #46 #771642

>>771636
Очевидно же, сиди связывается в блоках с иф, но они не выполняются.

Ответы>>771660>>771663

17 Июн, 02:57 #47 #771660

>>771642
Это блять пиздец.

49 Кб, 816x272

17 Июн, 03:05 #48 #771663

>>771642
Нихуя не понятно.

Ответы>>771739

17 Июн, 08:11 #49 #771731

>>771377
Берёшь компилируемый язык и делаешь, а не натягиваешь сову на глобус пистоном.

Ответы>>771733>>773136

17 Июн, 08:15 #50 #771733

>>771731
ХУли делать если кроме пистона никуда не может

Ответы>>771735

17 Июн, 08:19 #51 #771735

>>771733
Учить, очевидно же.

17 Июн, 08:29 #52 #771739

>>771663
если a — falsey, то переменная cd не создастся. В return'е, однако, cd запрашивается всегда.

Ответы>>772149

17 Июн, 10:37 #53 #771794

Народ кто может пояснить за курсы http://tceh.com/edu/python/, вроде программа обучения нормально расписана, говорят даже про помощь в трудоустройстве после курса. Из минусов стоимость (90к!). Может кто занимался у них? Какие подводные камни?

Ответы>>771798>>771844>>771883

17 Июн, 10:39 #54 #771798

>>771794
http://tceh.com/edu/python

17 Июн, 11:19 #55 #771844

>>771794
Чтобы освоить питон не нужны курсы. А если нужны, то тебе не стоит программировать.

17 Июн, 11:38 #56 #771865

Есть ли какая прога которая проанализирует код моего проекта и построит блоксхему того как модули взаимосвязаны?
Половину года в проект не заглядывал, а теперь понять нихуя не могу, как оно работает.

Ответы>>771903

17 Июн, 11:57 #57 #771883

>>771794
Google: full stack python
Все тоже самое и многое сверх того бесплатно без смс

17 Июн, 12:14 #58 #771903

>>771865
пичарм так умеет вроде

17 Июн, 16:45 #59 #772123

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

Ответы>>772158

107 Кб, 642x660

17 Июн, 17:18 #60 #772149

>>771739
Самое интересное что эта функция из книги.

Ответы>>772193>>772507

17 Июн, 17:25 #61 #772158

>>772123
>все что мне нужно от этого списка это возможность добавлять/удалять и узнавать есть ли элемент в списке

используй set же

17 Июн, 17:53 #62 #772193

>>772149
Я кстати Джанго бай экзампл добил недавно, хочу поделиться небольшим наблюдением: книга годная, но преимущественно рассказывает как пользоваться батарейками Джанго и сопутствующих технологий, хоть и вполне подробно, а не просто "для вката". Короче годнота, если даже просто перепишешь все дерьмо что в ней есть по-любому научишься основам, но остальное будет отвлекать только.
Из того что я для себя нашел по обучению джанге - годнота просто брать чужой код на гитхабе, простой насколько возможно и удобно текущем уровне, и переписывать вдумчиво читая документацию и дописыаая свои велосипеды по мере поступления идей.

Ответы>>772249

89 Кб, 787x711

13 Кб, 414x109

9 Кб, 414x109

14 Кб, 414x109

17 Июн, 18:16 #63 #772219

Столкнулся с такой проблемой :
прописываю я значит методы для класса пик 1. Проверяю как работают пик 2. Выдает результат пик 3 . Затем меняю местами операции - сначала вычитание, затем сложение. пик 4
И на выходе меня ждут совсем другие результаты пик 5 прикреплю к следующему посту, спасибо Абу. Почему?

Ответы>>772221>>772236>>772245>>775804

7 Кб, 414x109

17 Июн, 18:16 #64 #772221

>>772219
>пик 5

Ответы>>772236

17 Июн, 18:28 #65 #772236

>>772219
>>772221
короче как сделать так, чтобы эти математические операции не меняли сам изначальный экземпляр класса?

Ответы>>772245

17 Июн, 18:35 #66 #772245

>>772219
>>772236
Везде, где ты делаешь "self.ch = " ты меняешь этот экземпляр класса(или другой если other.ch = ). Храни новые значения во временных переменных "new_ch =". Ну и возвращай результатом не этот экземпляр (return self), а новый "return Fraction(new_ch, new_zn)"

Ответы>>772248

17 Июн, 18:37 #67 #772248

>>772245
Только что об это задумался. Теперь придется переделывать 200+ строк кода =_=

17 Июн, 18:38 #68 #772249

>>772193
Да я тоже пытаюсь менять кое-что по своему усмотрению. В формах там, в страницах. Но вот взял сейчас код, вписал как в книге а он тупо не работает. Хоть пропускай этот Search Engine. Сука.

Ответы>>772336

17 Июн, 20:00 #69 #772336

>>772249
У меня косяки были дальше, с букмарклетом для парсинга картиночек. Код в книге просто не работал, отсутствовала буквально пара строк, которые я нашел на гитхабе какого-то хохла и которые он видимо сам и дописал.
Поисковик этот явовский прикрутился без проблем.

Ответы>>772373

17 Июн, 20:33 #70 #772373

>>772336
У меня с комментариями были проблемы. После отправления формы оставались заполненными и при перезагрузки страницы коммент постился снова. Сам изобретал. Может он спецом, лол. Так люди лучше разберутся.

Ответы>>772376>>772380

17 Июн, 20:36 #71 #772376

>>772373
После успешного post запроса нужно делать редирект - это общее правило для веба.

17 Июн, 20:39 #72 #772380

>>772373
Я очень страдаю что ничего типа Синк Пайтон по Джанго нету
Имхо самое оно если есть приложение, листинги к нему полноценные, объяснения чуть избыточные и двадцать заданий что можно сделать еще из которых половина и так на в учебнике рассказано, а для другой половины ты уже знаешь что конкретно искать и остается только придумать как это оптимальнее впихнуть.
Но увы и ах, Синк Джанго что-то никто не берется написать.

17 Кб, 324x499

17 Июн, 21:25 #73 #772416

А вот эту читал кто?
https://www.amazon.com/Hello-Web-App-Tracy-Osborn/dp/0986365912?ie=UTF8&tag=tsp0c2-20

>Hello Web App is written for non-programmers by a designer, and will walk you through every step you need before launching your web app live to real customers. No jargon, using simple and friendly language.
>This book doesn't walk you through a specific tutorial, but instead uses a generic example (a collection of things) to allow you to create something using Python and Django that interests you. A blog is a collection of posts, a store is a collection of products, a directory is a collection of people. The possibilities are endless!

17 Июн, 21:45 #74 #772437

Бесплатные хотя кого это ебёт книженции
http://pythonbooks.revolunet.com/

17 Июн, 22:04 #75 #772458

Посоны, а ru_python в телеграме это наш чатег или не наш?

17 Июн, 22:25 #76 #772482

По поводу Книги Django by Example:
Вся эта веб херня постоянно развивается и не все пацаны успевают свои костыли крутить чтобы совместимости сохранить. Вот я два ебался пока не нашел что Haystack 2.4 не тащит Django 1.9 , только 1.8. Как же печет от подобного.

Ответы>>772496>>772504

17 Июн, 22:33 #77 #772496

>>772482
Рассказываю лай фак:
Любая книга и руководство нужны что бы научить тебя каким-то идеям и подходам. С большой долей вероятности зависимость от версий будет небольшой и в случае реального проекта ты спокойно сможешь сориентироваться и сделать как нужно.
Потому в книге сказано накатывай 1.8 - ставь 1.8
Свои поделки без книги пиши уже на актуальной версии.

34 Кб, 1235x505

17 Июн, 22:37 #78 #772502

В чём причина и что делать? Пример из "Укуса питона"

Ответы>>772556>>772948>>774165>>774633

17 Июн, 22:39 #79 #772504

>>772482
Я вообще никогда книги не применял, лол. Размусоливают коней в вакууме, только зря время тратил. Все что нужно - читнуть основные концепции, ООП, остальное по мере задач читаешь в доках. Что там

Ответы>>772506

17 Июн, 22:40 #80 #772506

>>772504
Крассава, братуха!
Жаль не все такие талантливые и сообразительные

Ответы>>772509

17 Июн, 22:41 #81 #772507

>>772149
Все переменные в None инициализируй в начале функции, это в целом хороший тон. И твой блок должен отработать верно, я не помню точно, но это известная старая фича/баг.

Ответы>>772517

17 Июн, 22:42 #82 #772509

>>772506
Так я тоже тупой и бросал чтение книг потому что не мог понять, нахуя мне это всё.
Делать с нуля попутно изучая рили намного легче, чем выполнять какие-то скучные примерчики.
Алсо, насчет говнокода - да, он поначалу будет, но потом ты сам начнешь понимать, что тут перебор и будешь пытаться переписывать лаконично и правильно.

17 Июн, 22:51 #83 #772517

>>772507
Да я уже разобрался, добавил возврат render и return результатов переместил в тело 2 цикла.

Ответы>>772520

17 Июн, 22:52 #84 #772520

>>772517
Кстати, а ведь первая идея такой и была
>Все переменные в None инициализируй в начале функции
И да, спасибо.

120 Кб, 644x400

17 Июн, 22:54 #85 #772523

Вот кто что скажет за комодо едит? Интерфейс писечный да и написан вроде на тех костылях что Atom, быстрее должен быть.

Ответы>>772527>>772528

17 Июн, 22:56 #86 #772527

>>772523
Хотя
> Written in JS, Python, C++ and based on the Mozilla platform.
Говно.

17 Июн, 22:57 #87 #772528

>>772523
Ставь идею/саблайм/вим и не выебуйся.

Ответы>>772532

17 Июн, 22:59 #88 #772532

>>772528
Сижу на Idea но хотеть чего-то легковесного и функционального. Придется ждать когда Атом напилят...

Ответы>>772534>>772875>>780047

17 Июн, 22:59 #89 #772534

>>772532
> чего-то легковесного и функционального
Vim однозначно.

Ответы>>772539>>772542

17 Июн, 23:03 #90 #772539

>>772534
Пока его настроишь можно на пенсию выйти. Разве что только в полевых условиях через ssh что-то подправить.

17 Июн, 23:03 #91 #772542

>>772534
Я как-то пердолился в конфиги вим-а. Показалось что не стоит того. Лучше уж атом. Там всё из коробки.

Ответы>>772544

17 Июн, 23:04 #92 #772544

>>772542
Зощем это подвисающее электроноподелие, когда есть божественный саблайм?

Ответы>>772547>>772868

17 Июн, 23:06 #93 #772547

>>772544
Да как-то не коширно использовать в 2076 не опеносрс редакторы. Это же не ИДЕ-шка.

Ответы>>772548>>772553

17 Июн, 23:06 #94 #772548

>>772547
>e

17 Июн, 23:08 #95 #772553

>>772547
Ну всё ясно с тобой.

Ответы>>772560

17 Июн, 23:09 #96 #772556

>>772502
Откуда у тебя -i берётся?

Ответы>>772579>>772780>>772781

17 Июн, 23:09 #97 #772559

И еще у Мелкософта есть опенсорс обрезок студии.
Вот оно:
https://github.com/Microsoft/vscode

Ответы>>772564

17 Июн, 23:10 #98 #772560

>>772553
Да, я еблан.

17 Июн, 23:11 #99 #772564

>>772559
Это не обрезок студии, а обрезанный атом на таком же электроне. И без вкладок, лол.

Ответы>>772567

17 Июн, 23:13 #100 #772567

>>772564
Ага, уже посмотрел. Что-то мода на подобное пошла ппц.

17 Июн, 23:23 #101 #772579

>>772556
А, всё понял. Я просто пьян, не обращайте внимание.

18 Июн, 00:00 #102 #772630

Анончик, помоги по Джанге.

Я передаю из DetailView, в шаблон , объект из модели, полученный через get_object_or_404(). В объекте сохранен html и в шаблоне, я пишу {{model.htmltext}}. Но он не рендерится! Текст появляется с тегами: <h1>w4gwg</h1>. Что делать-то?

Через rendor_to_response посылать переменную с текстом? C DetailView можно это сделать?

Ответы>>772682>>772711

18 Июн, 00:05 #103 #772640

>>771586
Тебе за это заплатят?

Ответы>>772643

18 Июн, 00:08 #104 #772643

>>772640
И да, и нет. Это типа часть моей работы писать всякое говно, хоть и не основная

Ответы>>783380

18 Июн, 00:27 #105 #772682

>>772630
{{ model.htmltext|safe }}

Ответы>>772683

18 Июн, 00:29 #106 #772683

>>772682
Ничего не изменилось.

18 Июн, 00:56 #107 #772711

>>772630
Погуглил за тебя:
{% autoescape off %}{{model.htmltext}}{% endautoescape %}

Ответы>>772713>>772716

18 Июн, 00:57 #108 #772713

>>772711
Да нихуя не получается,второй час сижу.

18 Июн, 01:03 #109 #772716

>>772711
Опробывал вот эти format_html(), safe_text() и т.п. Формат переменной <class 'django.utils.safestring.SafeText'>, но все равно не рендерится. Моожет быть в поле модели дело? Храню в TextField()

Ответы>>772740

18 Июн, 01:37 #110 #772740

>>772716
http://stackoverflow.com/questions/18216207/django-passing-html-objects-into-template-as-plain-text Всё делаю как здесь, блять. Ненавижу Джанго, как вы на ней пишите блять. Простое действие вывести из базы хтмлтекст в шаблон, сука!

Ответы>>772741

18 Июн, 01:38 #111 #772741

>>772740
Короче, я спать. Завтра продолжу.

Ответы>>772758

18 Июн, 02:51 #112 #772758

>>772741
Да всем похуй, можешь вообще дома сидеть.

Ответы>>772772

18 Июн, 06:29 #113 #772772

>>772758
Блять! Я вчера не тот шаблон редактировал. Всё заработало, спасибо.

18 Июн, 07:13 #114 #772780

>>772556
Хз. Убрать его?

Ответы>>772781

18 Июн, 07:20 #115 #772781

>>772780
>>772556
А, его нет в коде. Так что сделать? Я пробовал сделать так, как написано в выводе, только выходит пустой архив без имени

Ответы>>772937

18 Июн, 11:01 #116 #772868

>>772544
Саблаймоопущенцам завезли нормальный пакетный менеджер или так же говно жрут? Впрочем, им не привыкать.

18 Июн, 11:17 #117 #772875

>>772532
Гвидо рекомендует emacs

18 Июн, 12:33 #118 #772937

>>772781
Проверь, существует ли у тебя директория по указанному пути, а то zip жалуется, что ему архивировать нечего.

18 Июн, 12:37 #119 #772941

>>770407 (OP)
Аноны, год назад изучал питон, сейчас, хочу все вспомнить.
Можете подсказать, как это сделать? Перечитать Dive into Python?
Также, после изучения хочу вкатиться в библиотеку numpy.
Есть по ней годные мануалы на русском? Документация не переведена?

18 Июн, 12:50 #120 #772948

>>772502
Название директории с пробелом. Заверни в кавычи.

Ответы>>772964>>773091

18 Июн, 13:04 #121 #772963

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

18 Июн, 13:04 #122 #772964

>>772948
А у него разве по-другому?

18 Июн, 15:11 #123 #773091

>>772948
Так ведь уже. А когда указал другую папку в названии которой нет пробела то заработало

18 Июн, 16:11 #124 #773136

>>771731
Мне exe нужно создавать только для передачи проги друзьям. Помнится первые версии Blender требовали, чтобы пользователь у себя поставил змею. Помню еще ругался про себя, нихрена не знал об этом питоне ничего. А сейчас у них уже нормальный exe и dmg. Есть еще игра Ace of spades, мне лично она нравится, по сути майнкрафт с перестрелками. Так вот в файлах почти везде стоит расширение pyc, egg. Успешно продается в сттме

18 Июн, 16:41 #125 #773164

За полтора часа создал бота для инстаграмма. Ходит, лайкает и оставляет невинные комментарии, которые я стырил у других ботов. В инстаграмме их там море, точнее океан. Наблюдая за его работой я обратил внимание, что он лайкает голых мужиков и бородатых тетенек. Пришлось усовершенствовать. Заморочился sqlite (да это я выше про базу данных спрашивал). Ботяра перестал лайкать посты всяких lgbt. Пришлось переписать механизм считывания тегов. Оказалось, что у бородатых тетенек есть мода теги в комментариях писать. Научил ботяру видеть комменты. Потом обратил внимание, что ботяра лайкает каких-то арабов. Заморчился определением арабского языка. Это оказалось легко. Если фотка подписана арабской вязью, то ботяра не лайкнет. Далее научил ботяру не лайкать популярные посты. Так как после 100 лайков автор уже не видит лайки, следовательно не пойдет к вам в профайл. Сейчас работаю над черным списком, там будут все бородатые бабы. Делаю на случай если эта бородатая не станет писать в тегах lgbt.

Ответы>>773174

18 Июн, 16:46 #126 #773174

>>773164
И какова цель?

Ответы>>773197

18 Июн, 17:03 #127 #773197

>>773174
Прирост подписчиков, комментаторов. Запустил бота и ушёл по своим делам.

Ответы>>773985

18 Июн, 17:10 #128 #773206

Аноны, помогите накидать функцию упрощения дроби. Например, есть дробь, ее параметры - числитель и знаминатель.

Ответы>>773281>>773322

18 Июн, 18:17 #129 #773281

>>773206
from fractions import Fraction
print(Fraction(numerator, denominator))

Ответы>>773322

18 Июн, 18:50 #130 #773322

>>773206
>>773281
https://docs.python.org/3/library/fractions.html?highlight=gcd#fractions.gcd

18 Июн, 19:56 #131 #773389

Анон, расскажи за моды к WoT, есть где нибудь доки по BigWorld?

18 Июн, 20:39 #132 #773440

Нужен скрипт который сгенерирует список из 10к проксей с не очень большим пингом. Где скачать?

Ответы>>773536>>773541

18 Июн, 22:03 #133 #773533

А где еще питонопрограммеры тусуются? Кроме реддита, конечно.

Русские, не русские, любые короче.

Ответы>>773825

61 Кб, 594x585

18 Июн, 22:08 #134 #773536

>>773440
На основании чего сгенерит?
Если просто табличку с проксями отсортировать по пингу я бы хуйнул через asyncio через pandas циклом прогнал проверку пинга через os.system('ping .......') или subprocess.Popen('ping ...') и затем пандасом бы и отсоритровал.

Ответы>>773557

18 Июн, 22:14 #135 #773541

>>773440
Много хочешь. Так-то сидеть и набивать надо, делая парсеры всех встретившихся агрегаторов.

Ответы>>773557

18 Июн, 22:24 #136 #773557

>>773536
С сайтов скачает.

>>773541
Так какой-нибудь индус или китаец наверняка такое сделал и выложил на гитхаб. Никто не встречал?

Ответы>>773564

18 Июн, 22:33 #137 #773564

>>773557
Ну что-то есть вроде:
https://github.com/search?q=proxy+list
Удачи в поисках

Ответы>>773565

18 Июн, 22:34 #138 #773565

>>773564
Но я думал кто-то из вас уже нашёл и поделится.

Ответы>>773569

18 Июн, 22:36 #139 #773569

>>773565
Не твоя личная фриланс биржа же.

19 Июн, 01:06 #140 #773786

сори за тупой вопрос, но не могу понять формулировку задачи из укуса питона:

Реализуйте команду replace. Эта команда заменяет одну строку другой в списке переданных ей файлов.

1) как можна реализовать команду? типа сделать бесонечный ввод как в консоли через while True и вводить replace и параметры заставляя программу работать?
2) > заменяет одну строку другой в списке файлов
строку в списке файлов? что? мб в файлах переданных в списке? Даже если так то что это значит, что если я например имею в файле текст "Сап двач, есть одна тян" и я напишу в программе
replace тян кун
то должно в итоге в файле быть написанно "Сап двач, есть одна кун"?

Ответы>>773802

19 Июн, 01:30 #141 #773802

>>773786
Implement the replace command. This command will replace one string with another in the list of files provided.
Смею предположить, что имеется в виду команда вида
replace string repl_string file1.txt file2.txt file3.txt
выполняемая в командной строке.

Ответы>>773803

19 Июн, 01:33 #142 #773803

>>773802
в какой командной строке, в консоле чтол? как это вообще сделать там же баш импользуется, разви что запустить программу и пока она работает написать replace chlen hui vidy_zalup.txt

Ответы>>773805

19 Июн, 01:36 #143 #773805

>>773803
>replace.py
Так лучше?
В скрипт можно передавать аргументы.

Ответы>>773808

19 Июн, 01:40 #144 #773808

>>773805
тобто запускать шкрипт, писать во время его работы
replace bla-bla alb-alb fuck.txt suck.txt
и радоваться замене строк в обеих файлах? или можно поочередно типа для каждого значения делать отдельный импут, если все же первый вариант, то делать через split?

Ответы>>773812

19 Июн, 01:46 #145 #773812

>>773808
Нет, передавать все эти аргументы во время запуска скрипта, и потом разбирать их с помощью sys.argv или ещё чего-нибудь. Без инпутов. Для наглядности:
python replace.py bla-bla alb-alb fuck.txt suck.txt

Ответы>>773813

19 Июн, 01:47 #146 #773813

>>773812
аа, спс

Ответы>>773818

19 Июн, 01:55 #147 #773818

>>773813
Самое тупое решение, которая я смог придумать. Не уверен, что работает:
import sys
import os
os.system("sed -i 's/{}/{}/g' {}".format(sys.argv[1], sys.argv[2], ' '.join(sys.argv[3:])))

Ответы>>773819

19 Июн, 01:55 #148 #773819

>>773818
>которое
Пойду, просплюсь.

19 Июн, 02:56 #149 #773825

>>773533
Очень большая тусовка на LinkedIn, там есть группы. Перед тем в группе активность проявлять, заполни свой профайл хорошенько. Там много работодателей, они будут в твой профиль и внимательно его смотреть. Мне с LinkedIn периодически приходит предложения о работе.

Ответы>>773892

12 Кб, 200x200

19 Июн, 05:07 #150 #773846

Перекатился я, значится, давеча на ваш этот джанго. Опробовать после уринотерапии опыта написания недосайтов на пыхыпе. Пока всё очень ново, непонятно и сложно. Модели какие-то странные, туда сюда по *.py файлам заебался бегать. Ну да ладно, надеюсь понимание необходимости этого со временем придёт.

А я не пойму как на сервере то оно запускается? В пыхыпе просто было - в корень веб-сервера файлы кладёшь - в браузере наблюдаешь.

Ответы>>773878>>774061>>774622

sage 19 Июн, 06:50 #151 #773878

>>773846
В голосину

19 Июн, 07:10 #152 #773892

>>773825
Можно ссылочку на конкретные группы?

Ответы>>774619

19 Июн, 09:31 #153 #773949

Через pip устанавливаю библиотеку, а он говорит нужен питон выше 3. Что делать?

Ответы>>773951

sage 19 Июн, 09:38 #154 #773951

>>773949
https://www.python.org/downloads/release/python-351/

Ответы>>773967

19 Июн, 09:41 #155 #773953

Всавать за два часа до работы это пиздец. Я встаю за 15 до выхода из дома, туалетные дела сделал и на галеру. Как вы вообще утром можете что-то есть?! Мне даже печень в рот не лезет. Жру лишь в обед.

Ответы>>773954

19 Июн, 09:42 #156 #773954

>>773953
Бля, не туда.

19 Июн, 09:59 #157 #773967

>>773951
У меня стоит новый питон. Я pip не хочет новые библиотеки устанавливать.

Ответы>>773971>>773972

19 Июн, 10:03 #158 #773971

>>773967
попробуй pip3

Ответы>>773979

19 Июн, 10:04 #159 #773972

>>773967
или python3.5 -m pip install libname

19 Июн, 10:12 #160 #773979

>>773971
Спасибо.

19 Июн, 10:25 #161 #773984

Перед объявлением функции стоит async в библиотеке и она не хочет запускаться. Что делать?

Ответы>>773986

19 Июн, 10:26 #162 #773985

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

Ответы>>774441

19 Июн, 10:28 #163 #773986

>>773984
Какая версия питона?

Ответы>>773987

19 Июн, 10:30 #164 #773987

>>773986
3.4.3

Ответы>>773988

19 Июн, 10:30 #165 #773988

>>773987
async/await появились только в 3.5

Ответы>>773989

19 Июн, 10:34 #166 #773989

>>773988
А как обновить?

Ответы>>773991>>773992

19 Июн, 10:35 #167 #773991

>>773989
хз я просто скомпилял его из исходников и поставил в /opt/

19 Июн, 10:38 #168 #773992

>>773989
Вообще если у тебя убунту то есть https://launchpad.net/~fkrull/+archive/ubuntu/deadsnakes
В 16.04 python3.5 идет по дефолту уже вроде

Ответы>>773995

19 Июн, 10:42 #169 #773995

>>773992
И как этим пользоваться?

Ответы>>773996

19 Июн, 10:44 #170 #773996

>>773995
sudo apt-add-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python3.5

Ответы>>773999

19 Июн, 10:49 #171 #773999

>>773996
Теперь он не видит библиотеку которая в 3ем питоне

Ответы>>774000

19 Июн, 10:51 #172 #774000

>>773999
python3.5 -m pip install libraryname
или сделай virtualenv в котором python3.5 интерпретатор по-умолчанию

Ответы>>774005

19 Июн, 10:58 #173 #774005

>>774000
Теперь код на си не компилируется т.к. не нашёл файл Python.h

Ответы>>774007

19 Июн, 11:00 #174 #774007

>>774005
sudo apt-get install python3.5-dev

Ответы>>774013

19 Июн, 11:04 #175 #774011

>>770412
0
Если отвлечься от всего, это хорошая цифра.

Ответы>>777890

19 Июн, 11:05 #176 #774013

>>774007
Спасибо.

19 Июн, 11:36 #177 #774033

Как по мне, проще pyenv использовать, чем все эти репо от васянов.

19 Июн, 12:28 #178 #774061

>>773846
> А я не пойму как на сервере то оно запускается?
Вот здесь очень годно - https://habrahabr.ru/post/272811/

19 Июн, 12:36 #179 #774067

Поставил Pycharm, говно какое-то. Даже подлагивает. Сижу опять на Notepad

Ответы>>774085>>774110

19 Июн, 12:49 #180 #774084

чому может не загружаться сайт fullstckpython? все говорят годнота, а меня не пускают. Как в детстве оказался опять

19 Июн, 12:52 #181 #774085

>>774067
> Даже подлагивает
Купи компьютер, зачем на тостере то сидеть?

19 Июн, 13:08 #182 #774108

Поясните
n = x #это списки
sorted (n)
print (n,x)
Почему если я не укажу ссылку для сортед, то никакого сортед не происходит и n и х являются одним объектом?

Ответы>>774109>>774120

19 Июн, 13:09 #183 #774109

>>774108
/t - это какая-та шляпа от вакабы

19 Июн, 13:09 #184 #774110

>>774067
Лишние плагины выключи.

19 Июн, 13:12 #185 #774120

>>774108
делай n.sort()
sorted возвращает итератор
n и x и будут одним объектом если ты не скопируешь список например n=list(x) или n=copy(x) из модуля copy или n=x[:]

Ответы>>774188

19 Июн, 13:31 #186 #774165

>>772502
Подскажите, что за шрифты используются?

19 Июн, 13:50 #187 #774188

>>774120
То есть функция sorted ничего не меняет в списке, а просто создает другой список, используя первый как аргумент?

Ответы>>774192

19 Июн, 13:55 #188 #774192

>>774188
> sorted ничего не меняет в списке
Да
> просто создает другой список
Нет, она возвращает итератор. Чтобы получить список можно сделать new_list = list(sorted(old_list))

Ответы>>774197>>774201

19 Июн, 13:57 #189 #774197

>>774192
>итератор
1 итератор на отсортированный список? Хуйню сказал

Ответы>>774204

19 Июн, 14:01 #190 #774201

>>774192
>Нет, она возвращает итератор
Нет, она возвращает список.

Ответы>>774204

19 Июн, 14:03 #191 #774202

Насколько важно писать 2.0 вместо 2?
На кодАкадемии разница есть, если делить например, то во втором случае возвращает только целую часть, а когда у себя запускаю (у меня пайтон 3), то вовращает дробь.

Ответы>>774206

19 Июн, 14:05 #192 #774204

>>774201
>>774197
хм действительно, перепутал значит.

19 Июн, 14:06 #193 #774206

>>774202
Во втором питоне целочисленное деление по-умолчанию. В третьем // для него есть

19 Июн, 16:22 #194 #774441

>>773985
У меня на акке фотки города. Там нет рекламы услуг и прочего спама. У меня от силы 80 фоловеров, а у моего друга их тысячи. У него тысячи, потому что он очень активен. Часами сидит в инстаграмме и лайкает.

Ответы>>775195

19 Июн, 17:02 #195 #774535

Как мне указать параметры, которые определены в __init__ суперкласса, в дочернем классе?

19 Июн, 17:44 #196 #774619

>>773892
https://www.linkedin.com/groups/25827

19 Июн, 17:48 #197 #774622

>>773846
Изучать змею с джанго - очень плохая традиция.

Ответы>>774643

19 Июн, 17:56 #198 #774633

>>772502
Забыл поставит слеш в source

19 Июн, 17:56 #199 #774635

а помощь тут оказывают? захотелось себе прасер ссылок на тв каналы а дальше в плейлист, корочи этакий свой велосипед под ACE Stream Media. Хочу брать контент ид например отсюда http://tuchkatv.ru/5-discovery-channel.html. вроде получать ссылки на все каналы по всем категориям получилось, а как получить контент ид на странице канала? там нужно сначала жмакнуть add to playlist кнопку и лишь затеп открывается окошко с контент ид, до этого контент ид в коде страницы нет.
как проделывать в питоне? прост сам не программер ниразу в вебах тоже не особо шарю так что прошу как двачеру.
готовый плейлист не скачивается т.к. хуй завторизуешся там

Ответы>>774652

19 Июн, 18:06 #200 #774643

>>774622
>Изучать джанго - очень плохая традиция.
Пофиксил.

Ответы>>774649>>774657

19 Июн, 18:11 #201 #774649

>>774643
Я в вебе не силен, что посоветуете? Пирамидку или пороховницу? Или стать еретиком в вебтупае?

19 Июн, 18:15 #202 #774652

>>774635
Я честно не понял суть вопроса. Когда делаю парсер, я нажимаю правую клавишу мыши в лисе и выбирают inspect element, дальше смотрю что вылезло. В змие добираюсь до элемента чаще по xpath.

Ответы>>774659

19 Июн, 18:19 #203 #774657

>>774643
Почему? Джанга же самая популярная из пистоно веб параши?

19 Июн, 18:20 #204 #774659

>>774652
ну если пройти по ссылочке http://tuchkatv.ru/5-discovery-channel.html то там в меню плеера можно увидеть кнопку 'add to playlist' при её нажатии выводиться окошечко с контент ид канала, как раз то что мне и надо, затем получив все контент ид я просто составлю плейлист в своем плеере и смогу смотреть это не на сайте. Загвоздка в том что пока не будет нажата эта кнопка контент ид в коде страницы нет. Как симулировать нажатие этой кнопки для того чтобы затем спарсить контент ид канала?

Ответы>>774660>>774663>>774665>>774669>>774718

19 Июн, 18:22 #205 #774660

>>774659
selenium

или смотри что там js делает

19 Июн, 18:25 #206 #774663

>>774659
https://github.com/lorien/awesome-web-scraping/blob/master/python.md

здесь посмотри, наверняка найдешь нужный инструмент

19 Июн, 18:28 #207 #774665

>>774659
http://tuchkatv.ru/playlist.html
А этого недостаточно? Вроде бы специально для плееров список.

Ответы>>774674

19 Июн, 18:32 #208 #774669

>>774659
Ок, я тебе скажу как, но меня тут зачмырят. Есть такая хрень, которую гугл поддерживает http://www.seleniumhq.org/docs/03_webdriver.jsp
Далее логика такая. add to playlist находишь по xpath, нажимаешь на него при помощи команды .click() Если можно нажать клавишей enter то посылаешь > inputElement.send_keys(Keys.RETURN)

19 Июн, 18:34 #209 #774674

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

ну и интересно получить новый опыт написания парсеров, авось пригодиться

Ответы>>774691

19 Июн, 19:01 #210 #774691

>>774674
Твое дело. Там, случайно, плеер не на флеше? И как id выглядит, может он так на странице где-нибудь присутствует?

19 Июн, 19:49 #211 #774707

Парни сильно не пинайте, я от нехуй делать ковыряю питон (сам я ноль в программировании). Cуть такова: как создать скрипт (мини игру), в которой будут вопросы и в ответ на каждый вопрос игроку нужно будет отвечать yes/y/no/n, и после каждого ответа игрока будет отсылать к следующему вопросу, или же будет выводиться информация, в зависимости от ответа?

Ответы>>774709>>774938

19 Июн, 19:54 #212 #774709

>>774707
2 дня уйдёт на это с нуля.

19 Июн, 20:15 #213 #774718

>>774659
Пробовал смотреть что отправляется при нажатии на кнопку? сам ебал проверять, там еще нужно ставить какой то ботнет и регатся.

19 Июн, 20:29 #214 #774726

Аноны, не бейте, лучше помогите. Уебываю из ХД, искал ЯП и удивился, что ваш пайтон-топ в США. ПОшел в ХД, т.к. это тоже довольно распространено зарубежом, но корежит пиздец.
Короче, удалось ли кому-то реально съебать, зная пайтон?
В России, как почитал, все же джава и шарп опережают.

Ответы>>774942

19 Июн, 20:40 #215 #774732

Порекомендуйте, пожалуйста, какой-нибудь дешёвый хостинг для джанги.

Ответы>>774741>>774844>>775123

19 Июн, 20:46 #216 #774741

>>774732
https://www.scaleway.com/

Ответы>>774750

19 Июн, 21:00 #217 #774748

Опытные питонисты, а есть ты смысл начать изучение с курсов степика?

19 Июн, 21:04 #218 #774750

>>774741
Ещё один повод изучать пыхыпе.

Ответы>>774758

19 Июн, 21:11 #219 #774758

>>774750
САЙТ МАКСИМАЛЬНЫЙ ССД за 15ть рупий в месяц?

15 Кб, 547x300

19 Июн, 22:07 #220 #774829

>>770407 (OP)
>driver = webdriver.Firefox()
>driver.get("http://www.google.com")
Делаю нечто подобное, и в результате запускается лиса, потом закрывается, открывается вновь и пик, а pycharm выдаёт:
>ConnectionResetError: [WinError 10054] Удаленный хост принудительно разорвал существующее подключение
С фаерволом всё ок.
В чём может быть проблема? Что я делаю не так?
Python 3.5.1+Selenium 2

Ответы>>774842>>774943

19 Июн, 22:33 #221 #774842

>>774829
Гуглить свою ошибку пробовал?

Ответы>>774851

19 Июн, 22:34 #222 #774844

>>774732
https://www.pythonanywhere.com/

19 Июн, 22:41 #223 #774851

>>774842
Пробовал естественно, решения однотипные и сводятся к фаерволу\time.sleep(3)\откату к старой версии и т.д.
Ничего из этого не помогло.
Через хром всё работает отлично, но нужна именно лиса.

34 Кб, 806x450

20 Июн, 01:29 #224 #774938

>>774707
Это пипец как легко. Смотри на картинку

Ответы>>775029>>775117>>775130

20 Июн, 01:38 #225 #774942

>>774726
Python в последние два года вырвался в лидеры в США. Раньше там джавистов искали. Но на джавистов большие издержки, а змий экономит деньги компании.

Ответы>>775049

20 Июн, 01:46 #226 #774943

>>774829
Сорян юный падаван, я забыл тебе сказать. У меня тоже на днях отвалилось. Лиса обновилась до очередной беты. И кажется, через каждые 5 билдов нужно обновлять вебдрайвер, чтобы он мог запустить лису. Вебдрайвер до сих пор не обновили. Поэтому ставь стабильную версию лисы. Удали 48 (или 49) версию беты и ставь стабильную 45-ую версия. Она называется сокращенно ESR. Вот тут https://ftp.mozilla.org/pub/firefox/releases/45.2.0esr/

Ответы>>775102

20 Июн, 10:13 #227 #775029

>>774938
> 2016
> 2.7

Ответы>>775045>>775064

20 Июн, 10:32 #228 #775045

>>775029
Ещё на кодировку глянь.

Ответы>>775048

195 Кб, 480x480

20 Июн, 10:38 #229 #775048

>>775045

sage 20 Июн, 10:38 #230 #775049

>>774942
Чему радуешься? Ты владелец компании в сшп?
Жабка и оденет и накормит тебя, а с пистоном ты еще в переходе подрабатывать будешь.

Ответы>>775051>>775287

20 Июн, 10:49 #231 #775051

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

sage 20 Июн, 11:17 #232 #775064

>>775029

> 2016
> 2014

Ответы>>775070

20 Июн, 11:34 #233 #775070

>>775064
Чё бля?!

Ответы>>775095

20 Июн, 12:11 #234 #775095

>>775070
У тебя виндоувс сломалося.

Ответы>>775125

762 Кб, 1024x768

20 Июн, 12:21 #235 #775102

>>774943
Спасибо огромное, анон, сегодня вечером попробую.

20 Июн, 12:39 #236 #775117

>>774938
красавец

20 Июн, 12:47 #237 #775123

>>774732
vps за 90руб/мес.

20 Июн, 12:48 #238 #775125

>>775095
Это дата компиляции, дибил.

Ответы>>775132

20 Июн, 12:51 #239 #775130

>>774938
А можно такую же игру про два стула?

20 Июн, 12:52 #240 #775132

>>775125
>Python 3.4.3 (default, Jun 18 2016, 01:42:06)
А я гентушник и люблю пересобирать мир. Rate.

Ответы>>775162>>775334

20 Июн, 13:17 #241 #775162

>>775132
> 3.4.3
> Jun 18 2016

Ответы>>775171

20 Июн, 13:25 #242 #775171

>>775162
У меня ещё такие есть
>Python 3.5.1 (default, Jun 18 2016, 13:15:45)
>Python 2.7.10 (default, Jun 18 2016, 01:27:00)

Ответы>>775176

20 Июн, 13:32 #243 #775176

>>775171
Я имею ввиду, что 3.4.4 уже давно вышел.

Ответы>>775177

20 Июн, 13:34 #244 #775177

>>775176
А, ну у меня ШТАБИЛЬНОСТЬ в питонах. Проблем ещё не было. Можно конечно побилдить и самый свежак.

49 Кб, 615x405

20 Июн, 13:37 #245 #775179

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

Ответы>>775316

20 Июн, 13:53 #246 #775195

>>774441
Пиздец какой-то.

Ответы>>775335

20 Июн, 14:12 #247 #775213

Поясните за self. Зачем, как и когда его писать?

Ответы>>775231>>775254>>775375

20 Июн, 14:30 #248 #775231

>>775213
Обращение к инстансу класса из его методов.

Ответы>>775302

20 Июн, 15:05 #249 #775254

>>775213
Это как this в других яп

Ответы>>775283>>775302

20 Июн, 15:57 #250 #775283

>>775254
Другие ЯП не знаю

20 Июн, 16:05 #251 #775287

>>775049
А змий не оденет? Недавно одна компания в Нью-Йорке, которая занимается банковской деятельностью, наняла питониста, предложили ему 150 тыс долларов в год. Долго искали, но нашли.

20 Июн, 16:26 #252 #775302

>>775254
Дропнул Паскаль на азах. Питон - иой первый язык
>>775231
Не понял

Ответы>>775330

20 Июн, 16:37 #253 #775316

>>775179
Так кроме форматирования в 3.6 ничего особенно интересного и нет, 3.4 хватает.
Просто так ждать новую версию - идиотизм.

Ответы>>775318

20 Июн, 16:38 #254 #775318

>>775316
> 3.4 хватает
async/await в 3.5, например.

20 Июн, 16:59 #255 #775330

>>775302
Ну хз здесь прочти
http://python.swaroopch.com/oop.html

Ответы>>775333

20 Июн, 17:10 #256 #775333

>>775330
Я и так читаю "Укус"

20 Июн, 17:11 #257 #775334

>>775132

Ты и мамку бы пересобрал.

20 Июн, 17:13 #258 #775335

>>775195
Странный вы человек. Пока другие программеры на этом бабло рубят, вы удивляетесь новому миру.

Ответы>>775357

20 Июн, 18:01 #259 #775357

>>775335
И сколько ты уже "нарубил"?

Ответы>>775419

20 Июн, 18:53 #260 #775375

>>775213
Бамп. self пишем для того, чтобы 'x' привязать к блоку кода. Я правильно понял?
class MyClass(object):
def __init__(self, x, y):
self.x = x
self.y = y

Ответы>>775409

20 Июн, 19:45 #261 #775409

>>775375
Нихуя ты не понял.

my_class_instance = MyClass() # экземпляр класса

Когда вызывается метод, то ему первым параметром передаётся экземпляр класса, т.е. в нашем случае self = my_class_instance. Когда в методе у тебя написано self.x = x, то ты делаешь my_class_instance.x = x

И использование слова self это просто договоренность, никто тебе не мешает написать так:
def __init__(class_instance, x, y):
class_instance.x = x

20 Июн, 20:10 #262 #775419

>>775357
Ты не настоящий программист.

Ответы>>775421

20 Июн, 20:15 #263 #775421

>>775419
Примерно такую сумму я и предполагал.

Ответы>>775432

20 Июн, 20:39 #264 #775432

>>775421
Тогда не поделюсь, больно многа хочешь

20 Июн, 21:25 #265 #775455

Посоны, есть задача написать гуй на питоне. Жив ли pyqt? И есть ли ещё альтернативы ему и ткинтеру?

Ответы>>775482>>775595

20 Июн, 21:40 #266 #775471

Я уже почти смирился, что звуков в моей игрухе на pyjsdl (транслятор pygame в javascript) не будет, но все-таки спрошу.
В доках есть вот что: http://gatc.ca/projects/pyjsdl/doc/pyjsdl.mixer.Sound-class.html
__init__ здесь - это загрузка файла? Если нет, то где его грузить?
Если я пишу просто pyjsdl.mixer.Sound.__init__(self, 'путькфайлу/файл.wav', None), выдает ошибку.
(Я, если что, идиот, который знает базовый функционал питона, но вообще не представляет, как музыка закидывается на веб-страницы в жаваскрипте.)

Ответы>>775485>>776465

20 Июн, 21:56 #267 #775482

>>775455
Живо и то и другое. У ткинтера есть еще ttk у ткинтера, он лучше с темами дружит разных ос и его впринципе хватит для не йобы.

Ответы>>775595

20 Июн, 22:00 #268 #775485

>>775471
__init__ - это конструктор
Тебе нужно вызывать что-то вроде этого:
sound = pyjsdl.mixer.Sound('путькфайлу/файл.wav')

Ответы>>775487

20 Июн, 22:08 #269 #775487

>>775485
Спасибо, заработало (пока только в Microsoft Edge, но до настройки совместимости с разными браузерами я еще не дошел).

Ответы>>775489

20 Июн, 22:10 #270 #775489

>>775487
Большинство браузеров не поддерживает wav, попробуй ogg или mp3.

Ответы>>775503

30 Кб, 270x325

22 Кб, 808x597

20 Июн, 22:21 #271 #775498

Почему у меня вот этот вот код пик 1 ничего не записывает в файл?

Ответы>>775500>>775510

20 Июн, 22:21 #272 #775500

>>775498
Нужно полный путь к файлу прописывать? Они у меня в одной директории лежат.

20 Июн, 22:24 #273 #775503

>>775489
Еее, спасибо!

20 Июн, 22:32 #274 #775507

Какая команда создает файл для записи в него?

Ответы>>777709

20 Июн, 22:34 #275 #775510

>>775498
(ответ от нуба)
Код выглядит как правильный. Проверь, может, у тебя строки пустые& (скажем, print(c1) ее выводит?)

Ответы>>775519

20 Июн, 22:43 #276 #775519

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

Ответы>>775521>>775522

20 Июн, 22:45 #277 #775521

>>775519
for line in file:
...

Ответы>>775523

20 Июн, 22:48 #278 #775522

>>775519
Если ты не хочешь придумать свою сериализацию, то используй модуль pickle или json.
И с файлами лучше работать так:
with open('char.txt', 'w') as f:
for line in f:
print('fuck')

Так у тебя файл будет закрываться автоматически при выходе из блока with, да и лишние переменные не будут создаваться.

Ответы>>775542

20 Июн, 22:50 #279 #775523

>>775521
Индексирование линий в такой вот конструкции :
with open(fname) as f:
content = f.readlines()
идет с нуля или единицы?

Мне проще в txt делать, вот честно

Ответы>>775529

20 Июн, 22:52 #280 #775529

>>775523
Списки индексируются с 0. Иди читай доки, в них все есть.

20 Июн, 23:07 #281 #775542

>>775522
В json есть функция, которая создает json файл с заданным именем?

Ответы>>775546

20 Июн, 23:11 #282 #775546

>>775542
json - это только метод сериализации.

>>> test = {'q': 1, 'w': 2, 'e': 'qweqwe'}
>>> import json
>>> with open('test.json', 'w') as f:
... json.dump(test, f)
...
>>> with open('test.json', 'r') as f:
... data = json.load(f)
...
>>> data
{u'q': 1, u'e': u'qweqwe', u'w': 2}

Ответы>>775556

20 Июн, 23:19 #283 #775556

>>775546
Хорошо, мне нужно замутить меод для класса, который будет сохранять параметры обьекта в файл / загружать эти параметры из него. Как мне это реализовать?

Ответы>>775568

20 Июн, 23:27 #284 #775568

>>775556
Ну для начала можно примерно так:
>>> class Test:
... def __init__(self):
... self.hp, self.mp, self.lvl = [0]*3
... self.params = {'hp', 'mp', 'lvl'}
...
>>> t = Test()
>>> d = t.__dict__.fromkeys(t.params, 0)
>>> import json
>>> with open('char.txt', 'w') as f:
... json.dump(d, f)

А вообще, покури паттерны какие-нибудь, тут алгоритмам тебя никто учить не будет.

20 Июн, 23:58 #285 #775595

>>775455
Не слушай >>775482, tkinter из-под коня взят. Токо pyqt5 или pygobject (вроде так для gtk).

21 Июн, 05:25 #286 #775724

Анон, помогай. Вообщем есть 5к irc каналов. На каждые 100 каналов могу создать только 1 сокет. Как думаю делать сейчас. Сделать пул потоков (по количеству аппаратных потоков) и очередь задач. Забивать в очередь update для каждого сокета. Это норм решение?

Ответы>>775758

21 Июн, 08:28 #287 #775758

>>775724
Возьми https://twistedmatrix.com/documents/8.1.0/api/twisted.words.protocols.irc.IRCClient.html

21 Июн, 10:26 #288 #775803

На дайджесте вылез coconut (http://coconut-lang.org), что думаете, посоны?

Ответы>>775806>>775807>>775818>>775831

21 Июн, 10:26 #289 #775804

>>772219
знамЕнатель

21 Июн, 10:30 #290 #775806

>>775803
> def __abs__(self):
> .... """Return the magnitude of the vector."""
> .... return self.pts |> map$((x) -> x2) |> sum |> ((s) -> s0.5)

Революция нахуй

Ответы>>775814

21 Июн, 10:33 #291 #775807

>>775803
Зачем оно нужно, если есть скала.

Ответы>>775814

21 Июн, 10:46 #292 #775814

>>775806
>>775807
Бонус в том, что пишешь на 3-м пифоне и можно скомпилировать в почти любую версию от 2.6 до 3.6. Можно писать как будто просто третий пифон, без заморочек. Я сам пока в сомнениях нужно ли это, но то, что это надстройка уже хорошо.

21 Июн, 10:53 #293 #775818

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

21 Июн, 11:38 #294 #775831

>>775803
Васян видимо не осилил различия между 2 и 3 или захотел еще больше сахара в одной строке, что само по себе уже не python-way.

21 Июн, 13:37 #295 #775919

Я не понимат.
random - это же не зарезервированное слово?
Какого хуя в третьем питона mygovnomodule.random() выдает TypeError: 'module' object is not callable?
В 2.7 с этим все норма. Почему? Нахуя тогда все эти названия модулей через точку прописывать? Тут же нет неопределенности, какой именно random я хочу.

Ответы>>775928

21 Июн, 13:52 #296 #775928

>>775919
> Какого хуя в третьем питона mygovnomodule.random() выдает TypeError: 'module' object is not callable?
Потому что ты нагавнокодил какой-то ебалы в своем govnomodule.

Ответы>>775933

21 Июн, 14:00 #297 #775933

>>775928
И это действительтельно так. Там случайно затесалась строка import random. Причем, именно после определения функции random. Ее удаление решает проблему. А если ее поставить перед функцией - проблема не возникает, но зато нельзя вызвать ничего из модуля random.
Видимо, не стоит называть объекты с именами модулей из стандартной библиотеки.

Ответы>>777866

21 Июн, 16:32 #298 #776042

>>770407 (OP)
почаны, вы скидывали мне как-то сайт с переложением СИКП на пистон, скиньте еще раз! суки

78 Кб, 1308x770

69 Кб, 1303x767

74 Кб, 689x446

54 Кб, 721x458

21 Июн, 16:32 #299 #776043

Подскажите как перенести Searchform на sidebar. Всё что смог так это создать simpleTag и пустую форму туда налепить но результат никакой т.к. форма отображается а поиска нет. И только если перейти именно на страницу search то форма ищет и отображается без smpletag а тупой переброской кода.

Ответы>>776106

21 Июн, 17:59 #300 #776106

>>776043

Тебе надо вьюху переписать, чтобы она через шаблон сайдбара представление выводила.

Ответы>>776172

21 Июн, 18:43 #301 #776148

Можно ли получить url страницы, возвращаемой по запросу, не загружая при этом самой страницы?

Ответы>>776150

21 Июн, 18:46 #302 #776150

>>776148
Не совсем понятно, о чем ты говоришь. Если про редиректы, то там тела страницы нет.
В любом случае, можно использовать HEAD вместо GET.

Ответы>>776160

21 Июн, 18:54 #303 #776160

>>776150
Грубо говоря,
r = requests.get('https://somesite.com/random')
возвращает каждый раз разные страницы. Нужно выдирать из их URL кое-что.

Разве r не будет содержать тело страницы? r.text же выдает все содержимое. Которое вообще не уперлось.
r.head то что надо, спасибо.

Ответы>>776174

21 Июн, 19:03 #304 #776172

>>776106
Ох, как же я не допёр, ппц. Спасибо тебе.

21 Июн, 19:05 #305 #776174

>>776160
Хотя, я поторопился радоваться. requests.head('https://somesite.com/random') возвращает url 'https://somesite.com/random', а вовсе не то, на что должно было перекинуть.

Ответы>>776177

21 Июн, 19:07 #306 #776177

>>776174
Так а как возвращается url новой страницы - просто перенаправляет куда-то или в теле страницы адрес?

Ответы>>776180

21 Июн, 19:10 #307 #776180

>>776177
Перенаправляет. И нужно получить url того места, куда перенаправило, не загружая ничего лишнего.

Ответы>>776181>>776182

21 Июн, 19:14 #308 #776181

>>776180
Попробуй headers["Location"]

Ответы>>776184

21 Июн, 19:15 #309 #776182

>>776180
Ты просто не туда смотришь:
>>> import requests
>>> r = requests.head('http://2ch.hk/pr/res/770407.html') (М)
>>> r.headers['location']
'https://2ch.hk/pr/res/770407.html' (М)

Ответы>>776184

21 Июн, 19:16 #310 #776184

>>776181
>>776182
О, прекрасно. Просто то, что доктор прописал! Спасибо огромное!

Ответы>>776189

21 Июн, 19:23 #311 #776189

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

Ответы>>776194

21 Июн, 19:27 #312 #776194

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

Ответы>>776217

21 Июн, 19:37 #313 #776217

>>776194
Может тогда так?

r = requests.head('http://github.com', allow_redirects=True)
r.url
r.history

Ответы>>776222

74 Кб, 743x535

45 Кб, 503x328

16 Кб, 389x378

21 Июн, 19:37 #314 #776218

Э-э-э блэт.
Не вышло.

Ответы>>776253

21 Июн, 19:41 #315 #776222

>>776217
Да, тоже вариант. Я наверное очень пиздоглазый, если не увидел всего этого в документации. Так даже лучше.

21 Июн, 19:56 #316 #776253

>>776218
>action="."
Может поэтому? Тебе ведь нужно передавать данные во вьюху с поиском, а ты передаешь, как понимаю, на простую страницу.
Если не так, то опиши подробнее, что ты вообще делаешь, что за форма, когда работает и не работает.

Ответы>>776282

50 Кб, 550x316

74 Кб, 667x449

58 Кб, 730x393

14 Кб, 419x180

21 Июн, 20:11 #317 #776281

Есть въюха(пик1) и страница(пик2)
Хочу поместить форму поиска на сайдбар(пик3) но выходит пик4

Я менял во въюхе второй return на страницу с сайдбаром.

>action="."
Убрал, результат тот же.

Ответы>>776282>>776290

21 Июн, 20:11 #318 #776282

>>776281
Сюда
>>776253

21 Июн, 20:17 #319 #776290

>>776281
Надо не убрать, а указать в action адрес страницы, которая у тебя поиск производит. Что-то вроде
action="{% url "blog:post_search" %}"

Ответы>>776304

21 Июн, 20:21 #320 #776304

>>776290
Видишь ли в чем прикол, сама форма
>form
не отображается вообще нет поля ввода
>query
всё остальное фигня.

21 Июн, 21:14 #321 #776375

Поясните чайнику, что такое "класс"
Это типо список из функций, методов и т.д.?

4 Кб, 184x156

21 Июн, 21:22 #322 #776377

Анон, с помощью чего можно строить графики математических функций?

Ответы>>776397>>776692>>777868

21 Июн, 21:40 #323 #776393

В 3 версии петона dict.keys() больше не возвращает список. А dict_keys не индексируется.
Что тогда происходит внутри
for x in dict:
...print(x)
?

Ответы>>776399

21 Июн, 21:44 #324 #776397

>>776377
gnuplot

21 Июн, 21:47 #325 #776399

>>776393
И вообще, учитывая вот это вот
>dict_keys не индексируется
Можно ли извлечь из БОЛЬШОГО словаря случайный элемент, не преобразовывая в список?
Типа как

next(iter(dict))

быстрее, чем

list(dict)[0]
?

21 Июн, 22:51 #326 #776465

>>775471
pygame последняя версия вышла 7 лет назад, на вин10 знатно глючит, как-то бесперспективно изучать pygame

21 Июн, 23:04 #327 #776482

Анон, как в джанге кошерно распределить логику приложения между моделями и вьюхами? Вот если я хочу отфильтровать данные где мне это лучше делать?

Ответы>>776485>>776759

21 Июн, 23:08 #328 #776485

>>776482
В декораторе.

21 Июн, 23:29 #329 #776504

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

Ответы>>776576

22 Июн, 01:48 #330 #776576

>>776504
Ключи в любом случае должны быть уникальными.
Если тебе нужно, чтобы сохранялось старое значение - проверяй перед вставкой ключ на наличие.

Ответы>>776685

22 Июн, 06:15 #331 #776628

>>770407 (OP)
Ещё учусь и проходил задачу: надо было циклом for запилить комбинирование слво из двух списков в один
Оригинальное задание было здесь:
https://youtu.be/9nmpW8rWqJc
Я его сделал.
Решил попробовать с тремя списками и у меня получается какая-то хуйня.
https://ideone.com/3SiVem

Я понимаю, что могу бежать впереди паравоза, но хотел бы спросить: что я делаю не так и почему получается неработающая хуйня, вместо 27 комбинации?

Ответы>>776631

22 Июн, 06:19 #332 #776631

>>776628
Упс, не та ссылка.
https://ideone.com/alOyIR
Вот здесь "последняя" версия.

Ответы>>776639

22 Июн, 07:14 #333 #776639

>>776631
Во-первых, никогда не используй зарезервированные слова/классы в качестве имён переменных (list, tuple, dict и т.д.)
Во-вторых, там хер знаёт чего у тебя понаписано, особенно elif len(list)>8: Откуда цифра 8 взялась? Никогда не суй подобные константы, опирайся на имеющиеся данные (сумму длин списков или что ты там хотел).
В-третьих, зачем ты insert используешь, если есть человечкий append, просто добавляющий в конец? Тебе ведь именно это и нужно.
В-четвёртых, посчитай, сколько раз у тебя вызывается твой самый вложенный код. 27
В-пятых, ты перемудрил, очень перемудрил. Всё, что тебе нужно, это пройтись по индексам [0, n], где n - длина любого из твоих списков (предполагается, что все они одинаковой длины, иначе всё сломается и нужны дополнительные условия).
В-шестых, брось этот урок. Итерироватсья по элементам, зачем вручную инкрементировать индексы, да ещё и зачем-то два разных, когда они всегда равны друг другу, при этом сам 'item' так и не используюя. Пиздец полнейший.

https://ideone.com/3VrpHt
Вот тут "красивое и элегантное" через zip, а также очевидное через луп.
Третий вариант с разными длинами, где списки зацикливаются.

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

Ответы>>776640>>776644>>776650

22 Июн, 07:21 #334 #776640

>>776639
В четвёртом и пятом пунктах могу ошибаться, так как не совсем верно понял условие задачи изначально. А также с "равными друг другу индексами" поспешил.
Решение на видео, однако, всё равно считаю идиотским.

Ответы>>776652

22 Июн, 07:26 #335 #776644

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

Ответы>>776652

22 Июн, 07:55 #336 #776650

>>776639
Позволь разобрать тобой написанное:

Во-первых, а почему тогда ideone никогда не ругался на список list?
Во-вторых, это я решил упростить условие для elif, т.к. заведомо знал, что по окончанию "комбинирования", "длинна" списка будет составлять 9 элементов. Так-то я бы потом убрал, если бы разобрался с проблемой.
В-третьих, я ещё не обучен этому, лол. В уроках был только insert. К тому же, у него же получается большее количество возможных применений.
В-четвертых,
>посчитай, сколько раз у тебя вызывается твой самый вложенный код
я_кот_а_не_архитектор.жпг
Я не знаю, как это считать. Ты имеешь ввиду, когда тело for a in first проверяется?
В-пятых, не, они разной длинны в примере на видео.
В-шестых, я не совсем понял тебя. Там суть урока была в том, чтобы сделать комбинацию из всех имен и фамилий (то, что написано у меня в списках - так. хулиганю немного), используя два уже имеющихся списка.

>Каждый элемент с каждым связать, что ли? Тогда там 4-ый вариант, делающий как раз это.
Ага.

И я правильно понимаю, что тут https://ideone.com/blSBa4 только эти два решения я могу пока понять, лул ты спользуешь свойство for, т.к. этот цикл перебирает все элементы, поднимаясь "снизу" вверх%% я смог реализовать свою "задачу".
https://ideone.com/6sw24m

Ответы>>776659

22 Июн, 08:02 #337 #776652

>>776640
>>776644
Ну и эти два поста я тоже видел.

22 Июн, 08:32 #338 #776659

>>776650
>Во-первых, а почему тогда ideone никогда не ругался на список list?
Потому что это не запрещено. Но это может сильно подпортить жизнь, а смысла в этом никакого, так как есть миллион других синонимов.

>Так-то я бы потом убрал, если бы разобрался с проблемой.
Ну хорошо. Хотя лучше изначально это не делать.
>В уроках был только insert
Ну хуёвые уроки, чо тут скажешь. Что там в предыдущих 23-то, блин, было?

>Ты имеешь ввиду, когда тело for a in first проверяется?
Да (только выполняется, а не проверяется). Но на этот пункт забей, я не так понял задачу сначала.

>ты спользуешь свойство for, т.к. этот цикл перебирает все элементы
А что, в уроках не было рассказано, что цилк for делает, но он его использует?
>поднимаясь "снизу" вверх
Што? Ничего никуда не поднимается. Просто при каждой итерации внешнего цикла внутренний выполняется снова n раз.
https://ideone.com/OFcRsz

Ответы>>777749

22 Июн, 09:27 #339 #776685

>>776576
Так а вставить то как?

Ответы>>776690

22 Июн, 09:36 #340 #776686

Можно как - нибудь в pycharm проверить код на PEP8?

Ответы>>776754

22 Июн, 09:40 #341 #776690

>>776685
d[key] = value?

22 Июн, 09:48 #342 #776692

>>776377
plotly

sage 22 Июн, 11:11 #343 #776727

Ковыряю Think python.
[CODE]
world = TurtleWorld()
def square(t):
t = Turtle()
for t in range(4):
fd(t, 100)
lt(t)
square(bob)
wait_for_user()
[/CODE]

Питон ругаеться, говорит, NameError: name 'bob' is not defined. Это почему же так?

Ответы>>776729>>776732>>776735>>776736

22 Июн, 11:14 #344 #776729

>>776727
Покажи пальчиком, где у тебя тут определяется bob.

22 Июн, 11:18 #345 #776732

>>776727
>def square(t):
>t = Turtle()

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

Хренота какая-то понаписана.

Ответы>>776741

22 Июн, 11:18 #346 #776735

>>776727
Там как-то типа bob = Turtleword.turtle инициализируется, а ты это где-то посеял

Ответы>>776741

22 Июн, 11:19 #347 #776736

>>776727
Удали python.

sage 22 Июн, 11:27 #348 #776741

>>776732
>>776735
Я все понял, спасибо. Думал что можно в функцию запихнуть чтобы каждый раз не писать боб - это черепашка.

Ответы>>776748

22 Июн, 11:36 #349 #776748

>>776741
"Каждый раз" - это когда?

Эта хрень с неиспользованием аргумента в фукнции, кстати, в каких-то ответах даже присутствует https://en.wikibooks.org/wiki/Think_Python/Answers#Chapter_4
Может кто объяснить, в чём смысл?

22 Июн, 11:43 #350 #776754

>>776686
Там в настройках можно включить степень глубины проверки.

22 Июн, 12:03 #351 #776759

>>776482
https://habrahabr.ru/post/213875/

22 Июн, 13:34 #352 #776890

Посоны, киньте годный мануал по асинхронному (future, async, await, etc) программированию, везде какая-то дичь

Ответы>>776958

22 Июн, 14:15 #353 #776958

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

22 Июн, 15:08 #354 #777046

Как записать в файл целую строку?

Ответы>>777075

22 Июн, 15:32 #355 #777075

>>777046
f.write(line)

22 Кб, 423x197

22 Июн, 15:47 #356 #777088

Какой смысл в асинках и торнадо, если GIL?

Ответы>>777089

22 Июн, 15:48 #357 #777089

>>777088
Толстячок.

За что я люблю пайтон 22 Июн, 16:55 #358 #777160

Вчера друг попросил написать ему скрипт. У него есть сайт визитница. Адрес на всяких визитках. На сайт заходят только клиенты. Он попросил меня написать скрипт обновления новостей. Скрипт заходит на чужие сайты, тащит оттуда новости с картинками и размещает эти новости на его сайте. У друга нет доступа к корню сайта, нет даже доступа по ftp. Все новости через админку делаются. Скрипт сделал, 45 строк занял. Работает исправно.

Ответы>>777174

22 Июн, 17:06 #359 #777174

>>777160
Ты сделал бы все то же самое на любом другом из сотни динамических языков. И еще сотне статических - кроме, может быть, ассемблера и С++.

Ответы>>777200

22 Июн, 17:20 #360 #777200

>>777174
Из песка можно дом построить хорошенько потрахавшись с ним. Кирпичами можно гвозди забивать.

Ответы>>777214

22 Июн, 17:29 #361 #777214

>>777200
Расскажи мне как изменился бы твой код если бы вместо Пистона ты взял Ruby, Perl, Lua, Lisp, JavaScript, Bash?

Ответы>>777222

22 Июн, 17:34 #362 #777222

>>777214
Код стал бы длиннее в два раза на другом языке.

Ответы>>777224

22 Июн, 17:36 #363 #777224

>>777222
Почему не 5?

На Ruby он был бы точно такой же, на Perl - вдвое короче

Ответы>>777235

22 Июн, 17:50 #364 #777231

Питон - идеальный язык для решения текущих проблем. Что тут спорить? Нужна была бы скорость - писали бы на плюсах, нужна была бы паркетная обработка файлов - на R каком-нибудь, а питон это чисто надо тебе склепать за 20 минут рабочую программку - склепал и пусть себе трудится медленно там или быстро похуй вообще. И нет, это не означает что для другого он не годится, но именно в этом аспекте он хорош безо всяких альтернатив.
Олигофрены вечно набигающие в тред перднуть о том, что якобы по их мнению лучше было бы на их любимом языке писать - знайте - нам очень важно ваше мнение, оставайтесь на линии

Ответы>>777236

22 Июн, 17:53 #365 #777235

>>777224
45 строк у меня случилось из-за дополнительных требований. Вы вообще плохо понимаете суть задачи. При прямом доступе к его сайту, я мог бы сократить код до 20 строк. У Ruby синтаксис не позволит сделать короче. Ruby хорош тем, кто спрыгивает с пэхапэ. Для них этот синтаксис как бы роднее. Perl, вы бы еще кресты вспомнили, турбопаскаль, вижуал бейсик :) Короче, кончай меня троллить. Я уже достаточно навоевался в священных войнах Ruby vs Python.

Ответы>>777238>>777391

22 Июн, 17:53 #366 #777236

>>777231
>Питон - идеальный язык для решения текущих проблем. Что тут спорить?
>Perl - идеальный язык для решения текущих проблем. Что тут спорить?
>Bash - идеальный язык для решения текущих проблем. Что тут спорить?
>Lisp - идеальный язык для решения текущих проблем. Что тут спорить?
>Lua - идеальный язык для решения текущих проблем. Что тут спорить?
>JavaScript - идеальный язык для решения текущих проблем. Что тут спорить?

22 Июн, 17:56 #367 #777238

>>777235
>Вы вообще плохо понимаете суть задачи.
Наверное потому что она плохо описана?

>>На Ruby он был бы точно такой же
>У Ruby синтаксис не позволит сделать короче.
С чем спорим?

>Perl
Чем же конкретно он не подходит для этой задачи? CPAN слишком велик, глаза с непривычки разбегаются?

Ответы>>777239

22 Июн, 17:59 #368 #777239

>>777238
Иди гуляй

Ответы>>777243

22 Июн, 18:02 #369 #777243

>>777239
Утверждение о том что питон - идеальный язык, несравнимый ни с чем, остается в силе?

Ответы>>777248

22 Июн, 18:05 #370 #777248

>>777243
сказали же ГУЛЯЙ

Ответы>>777254

22 Июн, 18:10 #371 #777254

>>777248
Но я хотел проникнуться всеми преимуществами идеального языка, несравнимого ни с чем. Почему ты отказываешься их показать?

Ответы>>777255

22 Июн, 18:10 #372 #777255

>>777254
Перестань. Спор бесполезен как и о несравнимости языка, так и о "45 строках". Нет ни задачи ни решения, хотя было бы интересно попытаться решить какую-нибудь небольшую задачку на разных языках и сравнить.
Кстати, при подсчёте строк принимаются в расчёт сторонние библиотеки или нет? А то так можно и в одну строку всё уместить.

Ответы>>777269

22 Июн, 18:14 #373 #777258

А правда, что на питоне нет работы совсем?

Ответы>>777285

22 Июн, 18:24 #374 #777269

>>777255
Если вести спор конструктивно, а не в тональности "ойвсё!", в которой ты пытался это делать, то он может быть очень полезен.
Небольших задачек и решений их на разных языках полон Интернет.
Количество, качество и легкость использование библиотек всегда считались положительными показателями языков программирования, а не наоборот. Если твою задачу можно уместить в однострочник на bash, что же в этом будет плохого (для тебя, не для несравнимости Питона)?

Ответы>>777289>>777291

13 Кб, 499x174

22 Июн, 18:32 #375 #777285

>>777258
Вот вчера мне предложили очередную работу. Зарплата over $120K в год. Предложение пришло в linkedin

Ответы>>777299

22 Июн, 18:33 #376 #777289

>>777269
Я не он, очевидно же.

22 Июн, 18:35 #377 #777291

>>777269
bash может управлять браузером, проходить капчу авторизации? А?

Ответы>>777303>>777306

22 Июн, 18:41 #378 #777299

>>777285
Они всегда такие эссе выписывают? Анивэй ты-то помимо пистона еще миллиард хуйни всякой знаешь.

Ответы>>777321>>777873

22 Июн, 18:44 #379 #777303

>>777291
Конвертнуть капчу в грейскейл и отправить в tesseract может и bash, конечно.
Может и сам ее сделать, выдать и проверить результат https://github.com/TomConlin/recaptcha-in-bash/blob/master/cgi-bin/captcha.sh

Ответы>>777311

22 Июн, 18:45 #380 #777306

>>777291
>управлять браузером
Что ты под этим подразумеваешь?

Ответы>>777313

22 Июн, 18:49 #381 #777311

>>777303
Ок, вот тебе конкретная задача. Давай сравним. Залогинься в https://steamcommunity.com Пройди двойную авторизацию. Вторая авторизация на телефоне, нужно ввести капчу на телефоне. На питоне - это занимает 7 строк.

Ответы>>777325>>777332

22 Июн, 18:50 #382 #777313

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

Ответы>>777325>>777326

22 Июн, 18:56 #383 #777321

>>777299
У меня в профиле написано, что я только питон знаю. Другие языки я пока не указывал. Так как я сейчас занят, а хедхантеры постоянно пишут, ищут питонистов усердно.

22 Июн, 19:01 #384 #777325

>>777313
И о каком конкретном механизме управления браузером идет речь? Какую именно питоновскую библиотеку ты имеешь в виду? Браузером можно управлять различными способами.

>>777311
На Нокии 3310?

Ответы>>777329

22 Июн, 19:01 #385 #777326

>>777313
Ты сейчас имеешь в виду под "пайтон умеет" selenium или что-то подобное? Только не говори, что ты именно таким образом постил новости.

22 Июн, 19:05 #386 #777329

>>777325
Один раз авторизовываешься, проходишь все капчи вручную и сохраняешь кукизы. В следующие разы авторизоваться уже не нужно.

Ответы>>777331>>777352

22 Июн, 19:08 #387 #777331

>>777329
Это умеет самый примитивный curl, который ты дергаешь из bash. Можно и руками отправлять, заголовок дописать несложно в реквест, но некрасиво.

Ответы>>777334

22 Июн, 19:10 #388 #777332

>>777311
Разве у steam нет API?
>На питоне - это занимает 7 строк.
Какие библиотеки используются?

Ответы>>777335

22 Июн, 19:12 #389 #777334

>>777331
Bash must have to know and use. But Python is my favorite language. That's it.

22 Июн, 19:15 #390 #777335

>>777332
API есть двух типов. Для утвержденных ботов от больших сайтов - получаешь доступ ко многим вещам. И ограниченный API со множественными ограничениями. Борятся с ботами.

Ответы>>777352

22 Июн, 19:36 #391 #777352

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

Ответы>>777367

22 Июн, 20:03 #392 #777367

>>777352
Через selenium Не знаю почему здесь столько хейтеров selenium. Настоящий браузер, благодаря этому прекрасно обходит антибот защиты. Хотя paypal каким-то образом меня детектает, требовал капчу вводить пару раз, потом перестали требовать, они видят, что я делаю только законные действия через них. Есть плюс в оформлении новости на вебсайте. Бот вводит всю инфу, прикрепляет фотографии. На последнею кнопку поста не нажимает, дает убедится, что все правильно оформлено.

Ответы>>777368>>777395

22 Июн, 20:05 #393 #777368

>>777367
Дело все опять в волшебном селениуме, а совсем не в волшебном Питоне.
И почему я не удивлен?

https://github.com/jfriesse/selenium-bash

Ответы>>777378

22 Июн, 20:15 #394 #777376

PYTHON 4
@
2to3
@
3to4

22 Июн, 20:16 #395 #777378

>>777368
Ну так пиши в баш-треде. Чего тут забыл? Я на питоне практики набираюсь. Вдобавок на винде сижу.

Ответы>>777384

22 Июн, 20:25 #396 #777384

>>777378
Зачем же ты рассказываешь что Питон обладает волшебными пузырьками, несравнимыми ни с чем?

Ответы>>777393

22 Июн, 20:29 #397 #777391

>>777235

Все забыли про божественный Хачкель.

Ответы>>777394

22 Июн, 20:37 #398 #777393

>>777384
Я это делаю в питон-треде. Всё по правилам.

Ответы>>777455

22 Июн, 20:39 #399 #777394

>>777391
Божественнее брейнфака уже ничто не может быть божественным.

22 Июн, 20:43 #400 #777395

>>777367
Я думаю, что хейтят не сам selenium, а его использование не по делу. Вот, например, в твоем случае, как мне кажется, раз есть доступ к админке, и постишь ты новости через неё, то нужен всего лишь post-запрос. А по поводу "в три строки на питоне", все-таки на стоит так, ведь мы можем быстренько набросать скрипты благодаря людям, которые пишут и поддерживают библиотеки. Потому к тебе и вопросов столько было от анонов.

Ответы>>777403

22 Июн, 20:51 #401 #777403

>>777395
Эти аноны пайтон знают слабо и не могут оценить всю красоту языка.

Ответы>>777453

22 Июн, 21:49 #402 #777453

>>777403
Надеюсь что это сарказм.

22 Июн, 21:50 #403 #777455

>>777393
По правилам полагается рассказывать про Питон удивительные волшебные сказки?

Ответы>>777478

22 Июн, 22:06 #404 #777478

>>777455
Самый волшебный язык - это брейнфак. Язык будущего.

22 Июн, 22:23 #405 #777498

Аноны, как мне сделать так, чтоб в файл записывалось все, а не только последнее? Мне нужен лог действий, а в итоге в файл пишется лишь последнее действие.

Ответы>>777501

22 Июн, 22:25 #406 #777501

>>777498
Видимо тебе нужен режим 'a', то есть добавление в конец файла.

Ответы>>777502

22 Июн, 22:25 #407 #777502

>>777501
Ох, анончик, спасибо тебе огромное, я думал весь код по пизде пошел

22 Июн, 22:33 #408 #777508

Какая функция позволяет узнать, сколько элементов в списке?

Ответы>>777511

22 Июн, 22:34 #409 #777511

>>777508
Она совпадает с тем чувством, которое не позволило тебе погуглить - len.

Ответы>>777512

22 Июн, 22:36 #410 #777512

>>777511
Меня PyCharm послал нахуй, когда я пытался через лен длину списка вывести. Но все, я разобрался

Perl 22 Июн, 22:44 #411 #777523

Перлбоги, делаю задачу из книги: надо вывести имя файла в папке, созданного раньше всех. Я использовал -C для получения времени изменения узла файловой системы если правильно понял, что такое -C. Можно ли сделать программу еще короче?

https://ideone.com/8ZQAVa

Ответы>>777551>>777586>>777616>>777649>>777663

22 Июн, 22:55 #412 #777536

Привет двощ! Расскажи мне про расценки на раб силу на пистоне. Хочу найти студентоту в качестве помощника и спихивать на него джанго-говны. Какой бюджет закладывать?

22 Июн, 23:08 #413 #777551

>>777523
https://ideone.com/1R207J

Ответы>>777560

45 Кб, 894x656

22 Июн, 23:15 #414 #777560

>>777551
Пистушку неприятно.

Ответы>>777656

22 Июн, 23:49 #415 #777586

>>777523

http://pastebin.com/31zh6ecX

23 Июн, 00:22 #416 #777616

>>777523
https://ideone.com/btshu7

23 Июн, 01:00 #417 #777649

>>777523
ls -tr | head -n 1

Ответы>>777667

23 Июн, 01:05 #418 #777656

>>777560
После того как поиграешь в Rising World, играть в Minecraft после этого невозможно.

23 Июн, 01:13 #419 #777663

>>777523
Get-ChildItem -File | Sort LastWriteTime | Select -First 1 name

23 Июн, 01:23 #420 #777667

>>777649
ls -t|tail -n1

10 Кб, 494x334

23 Июн, 01:52 #421 #777678

Сделал как пишут в:
http://stackoverflow.com/questions/6420311/how-to-make-save-load-game-functions-in-pygame
А в итоге получил:
> TypeError: can't pickle instancemethod objects
Что я делаю не так?

Ответы>>777695>>777700>>778008

23 Июн, 04:02 #422 #777695

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

Ответы>>777699

23 Июн, 04:24 #423 #777699

>>777695
Поясни подробнее. Ты про переменную g?

Ответы>>777702

23 Июн, 04:47 #424 #777700

>>777678
Выбираешь Пистон

> http://www.mikedrivendevelopment.com/2016/06/else-if-is-not-special-except-in-python.html

Ответы>>777718

23 Июн, 04:57 #425 #777702

>>777699
Не изучай пайтон с pygame. Я когда начал изучать пайтон, тоже начал с pygame - это оказалось болью и печалью. Там надо уметь работать с классами и кое-где более высокий уровень полета требуется и будешь спотыкаться об элементарные вещи. Вот лучше начни с них.

Ответы>>777892

23 Июн, 06:24 #426 #777709

>>775507
open(path, 'w')

23 Июн, 07:36 #427 #777718

>>777700
Бесполезная бредятина какая-то.

Ответы>>777729

23 Июн, 08:00 #428 #777729

>>777718
Почему люди предпочитают написать эту фразу когда им встречается текст который они не смогли прочитать и понять?

Ответы>>777734

23 Июн, 08:14 #429 #777734

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

>Once delimiters are added and indentation is used, that should signify that that type of linked relationship is not true, and the code requires more careful reading.
Как раз-таки его код требует более тщательного чтения, потому что изначально не ясно, входит внутренняя структура куда-то или нет.
В тех же шарпах постоянно просят не пропускать скобочки даже в однострочных ифах, потому что обязательно потом обосруться, изменяя код, а ведь тут, по-сути, то же самое.

Да, в качестве теории это хорошо, оно действительно "calls out the simplicity of how the two control statements are 100% linked.", вот только практической пользы никакой, ящитаю.

Ответы>>777735

23 Июн, 08:14 #430 #777735

>>777734
>только
>обосрутся
fix

23 Июн, 09:01 #431 #777749

>>776659
>Потому что это не запрещено. Но это может сильно подпортить жизнь, а смысла в этом никакого, так как есть миллион других синонимов.
Понятно, учту.

>Что там в предыдущих 23-то, блин, было?
Научили, как пользоваться циклом if, циклом for, объявлять переменные, создавать листы и прочее.

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

>Просто при каждой итерации внешнего цикла внутренний выполняется снова n раз.
Внешний цикл - это самый "старший", в который вложены остальные?

Так-то уроки не плохи. Получше, чем было в книге Доусена, где для решения задач нужно из конца главы, надо было читать другие книги.
И да, прошу прощения, что так заслоупочил. Горы дел были.

Ответы>>777752>>777779

23 Июн, 09:08 #432 #777752

>>777749
>Научили, как пользоваться циклом if, циклом for, объявлять переменные, создавать листы и прочее.
Пиздос, и сколько ты на это времени потратил?
Все это просекается за два чтения первых пяти глав любой книги. Метода такая: в первый день читаешь книжку в толчке, чтобы иметь представление втф, во второй день делаешь задания из конца глав пречитывая все непонятные места.

Ответы>>777778>>778608

23 Июн, 09:42 #433 #777778

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

23 Июн, 09:48 #434 #777779

>>777749
>Внешний цикл - это самый "старший", в который вложены остальные?
Да.

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

Ответы>>778608

23 Июн, 11:35 #435 #777866

>>775933
>Видимо, не стоит называть объекты с именами модулей из стандартной библиотеки.

все есть объект жи

23 Июн, 11:36 #436 #777868

>>776377
канонично и Ъ использовать matplotlib

23 Июн, 11:39 #437 #777873

>>777299
на пасту для спамменка похоже

никакой конкретики

23 Июн, 11:48 #438 #777890

>>774011
kkk поди

23 Июн, 11:49 #439 #777892

>>777702
Ты так и не пояснил где там у меня глобальные переменные увидел.

Ответы>>777945

23 Июн, 12:20 #440 #777945

>>777892
У тебя весь кусок кода в глобальной области видимости.

Ответы>>777975

23 Июн, 12:35 #441 #777974

Кто-то использует pyinvoke для деплоя? Хочу заменить fabric но не понятно как настроить роли и в нем есть аналог env.roledefs? как вообще подконектиться к серверу?

Ответы>>778043

23 Июн, 12:36 #442 #777975

>>777945
Но там кода на 3 стоки, лол. Хоть что-то же обязано в глобале быть, иначе никак.

Ответы>>777977

23 Июн, 12:40 #443 #777977

>>777975
> Хоть что-то же обязано в глобале быть,
Объявление функци обязано в глобале быть.

Ответы>>777982

23 Июн, 12:44 #444 #777982

>>777977
Лепить
def main():
app = App()
app.run()
main()
что ли? Нахуя?

Ответы>>777993

23 Июн, 12:53 #445 #777993

>>777982
Нет конечно:
def main():
__app = App()
__app.run()

if __name__ == '__main__':
__main()

или на худой конец:
if __name__ == '__main__':
__app = App()
__app.run()

> Нахуя?
Чтобы структурировать код, чтобы не обявлять переменные в глобальной области видимости, чтобы твой App() не стартовал при импорте модуля.

Ответы>>777997>>778012

23 Июн, 13:00 #446 #777997

>>777993
>Нет конечно:
>И пишешь то же самое __main__ к вопросу глобала отношения не имеет.

>или на худой конец:
Так тут тот же глобал же, лил.

>Чтобы структурировать код
>чтобы не обявлять переменные в глобальной области видимости
Так вот это точка входа/старта в глобале жи, вполне всё "структурировано". Какая разница, функция там будет или одна единственная переменная.

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

Ответы>>778002

23 Июн, 13:01 #447 #777998

Парни, вопрос уровня червя-пидора, но раз уж уважаемым девелоперам иногда приходится пересекаться с этим сбродом - может сможете уточнить или подсказать чего.
И так, хочу отдать свою даму на курсы сео, что бы уже работающие сайты раскручивала и бабло в адсенс/директ пихала.
Какие курсы где брать?

23 Июн, 13:04 #448 #778002

>>777997
Впрочем, при импорте модуля, конечно, да, с мэйном app туда не попадёт, но это другое.

Ответы>>778012

23 Июн, 13:10 #449 #778008

>>777678
Решил проблему простым перекатом с pickle на dill. Но внезапно выяснилось, что все сохранённые экземпляры класса Surface pygame после загрузки читать не хочет.
И если раньше простой прожектайл хранил ссылку на картинку в себе, то теперь он должен хранить и вызывать его через анальное отверстие, например, хранить в себе только ключ для словаря и вызывать картинку по этому ключу из внешнего словаря.

23 Июн, 13:13 #450 #778012

>>777993
>>778002
Но зачем адекватному человеку импортировать модуль предназначенный для старта программы?

Ответы>>778045

23 Июн, 13:58 #451 #778043

>>777974
>для деплоя
ansible

Ответы>>778053

23 Июн, 14:01 #452 #778045

>>778012
с проектами на flask сейчас так и работают примерно

23 Июн, 14:12 #453 #778053

>>778043
Слишком комбайн, мне всего то нужно сходить по ssh дернуть pull и докер запустить.

Ответы>>778054>>778055

23 Июн, 14:14 #454 #778054

>>778053
Анус себе дёрни, пёс.

23 Июн, 14:16 #455 #778055

>>778053
Если проект разрастется, то пользоваться ansible придется научиться, хотя бы знать минусы чтобы не наступать на грабли и не тратить время напрасно.
Ну либо взять capistrano, оно такое же удобное, только на ruby.

23 Июн, 17:53 #456 #778198

а я быдлоолимбеаднег

23 Июн, 20:33 #457 #778329

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

Ответы>>778330

23 Июн, 20:37 #458 #778330

>>778329
АА блядь, нашёл, волшебная ф-ция zip

23 Июн, 21:30 #459 #778370

Анончики, выручайте, вы моя последняя надежда :c
Вобщем, такая тема - мне нужно скачать вот эту страничку http://www.biblio-globus.ru/service/catalog/details/10284233, потом написать программу, которая соберет всю инфу о книге - автора, цену, etc. Соответственно, запишет все это в файл. Как мне это реализовать?

Ответы>>778383>>778411

23 Июн, 21:41 #460 #778383

>>778370
1. Скачиваешь страницу, например, с помощью requests
2. Парсишь скачанную страницу, например, с помощью Beautiful Soup
3. Сохраняешь в файл необходимые данные
Что именно ты не можешь реализовать?

Ответы>>778384>>778387

23 Июн, 21:41 #461 #778384

>>778383
Он хочет, чтобы ты за него это реализовал.

Ответы>>778385>>778387

23 Июн, 21:42 #462 #778385

>>778384
Мне вот тоже так показалось, но я хочу убедиться.

23 Июн, 21:43 #463 #778387

>>778384
Нет, вовсе не хочу.

>>778383
Мне походу надо сделать это через регулярные выражения.

Ответы>>778404

23 Июн, 21:44 #464 #778391

всем привет у меня очень ньюфажный вопрос
изучаю питон по доусону, стоит задача, переделать строку наоборот
вот мой код
https://ideone.com/4V6ouz
как я мыслю:
вводим слово, так?
заносим его в b
изменяем b от минимального отрицательного до 0
или не так я думаю?

Ответы>>778402>>778405

23 Июн, 21:51 #465 #778402

>>778391
А ты пробовал запускать это код?
Нет смысла заносить слово в b, если оно уже в a.
Тебе стоит прочитать про срезы, тогда у тебя всё получится.

23 Июн, 21:51 #466 #778404

>>778387
> Как мне это реализовать?
> Мне походу надо сделать это через регулярные выражения.
Зачем спрашивал, если лучше нас знаешь?

23 Июн, 21:51 #467 #778405

>>778391
1. Зачем нужно b?
2. len — это функция. -len — это ошибка.
3. Реверс делается через [::-1] (прочитай про слайсы).
4. пиздец ты дибил

23 Июн, 21:58 #468 #778411

>>778370
from bs4 import BeautifulSoup
from urllib.request import urlopen

html = urlopen('http://www.biblio-globus.ru/service/catalog/details/10284233').read().strip().decode('utf-8')
soup = BeautifulSoup(html, 'html.parser')
details_name = soup.find("div", { "class": "details_name"}).contents[0]
with open('data.txt', 'w') as f: f.write(details_name)

23 Июн, 22:10 #469 #778419

Зачем в питоне нужны аргументы командной строки?
sys.argv

Ответы>>778420

23 Июн, 22:11 #470 #778420

>>778419
А зачем они нужны в любом другом ЯП?

Ответы>>778421

23 Июн, 22:11 #471 #778421

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

Ответы>>778423

23 Июн, 22:13 #472 #778423

>>778421
Ну вот, ты уже близок к истине. Чтобы передавать программе аргументы, типа
./load_page.py https://2ch.hk/

23 Июн, 22:14 #473 #778426

Почему при записи в файл кириллица отображается хуй пойми как?
Гвидо там совсем охуел? Как фиксить?

Ответы>>778429

23 Июн, 22:27 #474 #778429

>>778426
Потому что ты сраной виндой пользуешься.

24 Июн, 01:32 #475 #778510

>>770407 (OP)
Устал от Asp.Net Mvc C#. Куда лучше вкатывать: Python Django или Java Spring?

Ответы>>778590

939 Кб, 1920x1080

24 Июн, 05:12 #476 #778558

Привет, антуан. Я поставил перед собой небольшую цель: начать получать этим вашим фрилансом копеечку, дабы оплачивать интернеты. Более всего интересует работа на зарубежных фриланс биржах (upwork), а именно django dev.
Очень буду рад, если тут найдутся люди, кто зарабатывает/зарабатывал денежку на джанге. Профили на этих ваших биржах давно заведены, но приступать к отправке заявок считаю себя ещё недостаточно готовым. Как определить тот момент когда я буду готов, чтобы не обосраться и выполнить всё perfect по ТЗ заказчика? Что стоит подтянуть или выучить?

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

Работал только с SQLite и MySQL (понимаю что надо ещё в PostgreSQL въезжать). Могу склепать на коленке адаптивный дизайн (без бутстрапа, но с очень неказистым дизайном - фронтэндер из меня никакой), на jQuery разные красивые штуки могу прикрутить.

Посоветуйте что ещё поизучать и что поделать, чтобы прокачать скиллы и со спокойной душой пытаться что-то словить на апворке.

Ответы>>778597>>778612

24 Июн, 09:49 #477 #778590

>>778510

Haskell Yesod.

24 Июн, 10:14 #478 #778597

>>778558
Сколько вас таких тут было, кто просто услышал о зп программера и решил чем он хуже. Оно и не плохо, с одной стороны, только такой трюк при такой мотивации удается провернуть хорошо если одному из пяти-десяти. Потому что программинг это блин хобби, а не ремесло. Ремесло это вон фронтенд, хотя тоже бывают исключения, и всегда работы по фронту валом.
Ну, твое дело конечно. Я бы рекомендовал сперва попробовать себя в торговле, ибо она точно больше приносит и не является пыткой, которую через силу мозги шевелить заставляет. Купил рекламу в адсенс - взял предоплату - купил васяну его дверь/ворота/сигарету электронную - отдал, деньги забрал и гуляй себе.

Ну, а так что:
Python: codecademy - a byte - Dowson / Lutz - think Python - tutorials - standard library by example - algorithms and data structures with Python
Django: polls tutorial - django girls tutorial - django by example - obey the testing goat - 2 scoops of django - tutorials
Удачи

24 Июн, 10:29 #479 #778608

>>777779
>>777752
А так, аноны, какие есть годные видеокурсы по третьему питону?
Мой курс "Ленивый питон" оказался не очень, как получается.

Ответы>>778614

24 Июн, 10:32 #480 #778612

>>778558
>денежку
Съеби.

24 Июн, 10:38 #481 #778614

>>778608
https://www.youtube.com/playlist?list=PLlb7e2G7aSpTTNp7HBYzCBByaE1h54ruW

Ответы>>778617

24 Июн, 10:41 #482 #778617

>>778614
Бобра.

24 Июн, 10:56 #483 #778628

Как проще всего засунуть output в хтмл страницу? Обязательно надо какой то фреймворк ставить? И например, если у меня есть код который парсит сайт и это занимает время допустим секунд 10, то я засуну этот код в контроллер в джанге, и когда зайду на эту вьюшку она 10 секунд будет грузиться? Как это решается правильным способом?

Ответы>>778636>>778638

24 Июн, 11:20 #484 #778636

>>778628
Очереди, воркеры, веб-сокеты.

24 Июн, 11:22 #485 #778638

>>778628
ставишь celery, он каждые n времени парсит сайт и ложит данные в redis, когда нужно достаешь с redis и ложишь у вьюшку

24 Июн, 12:35 #486 #778674

Есть что-то типо самоучителя - пилим простой сайт с обменом данных с сервером.

Ответы>>778819

24 Июн, 12:53 #487 #778686

В цикле for i .... итератором может быть любая буква? Например t?
for t in range.....

Ответы>>778688>>778822

24 Июн, 12:54 #488 #778688

>>778686
Это обычная переменная и правила ее именования как для обычной переменной.

24 Июн, 13:04 #489 #778692

Кому-нибудь удавалось собрать с помощью pyqtdeploy?
Это пиздец, мало того, что это говно валится в процессе без отчета об ошибках, так еще и nmake не ест высранные им pro файлы с ошибкой
hz.pro(3) : fatal error U1036: синтаксическая ошибка : слишком много имен с
лева от "="
Stop.

Ответы>>778695

24 Июн, 13:11 #490 #778695

>>778692
Все дело в +=, которые это мразь щедро разбрасывает по всему .pro файлу. А ведь написано, что на виндоусе можно работать.

24 Июн, 14:06 #491 #778721

Можео где-нибудь почитать про csv в python?

Ответы>>778733>>778820

24 Июн, 14:14 #492 #778733

>>778721
Можео.

24 Июн, 14:27 #493 #778743

Что эта строка значит?
("\n".join(textwrap.wrap(row[1], 40)))

Ответы>>778748

24 Июн, 14:32 #494 #778748

>>778743
Форматирует текст столбиком по 40 символов в строке.

176 Кб, 728x974

24 Июн, 14:40 #495 #778755

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

Скажем есть публичное API, и я хочу, чтобы новые версии не ламали старых клиентов, по этому все запросы будут идти вида http://pisechka.hk/v0.1/hahaha или http://pisechka.hk/v0.2/hahaha и каждую версию обрабатывает раздельный код.

Сейчас есть файл handlers.py, который хэндлит все запросы, но хотелось бы сделать типа handlers_0_1 и handlers_0_2, но чтобы было цивильно.

Есть ли готовая либа для таких вещей?

Ответы>>778784>>778811

sage 24 Июн, 15:18 #496 #778784

>>778755
Все зависит от того, как в твоём приложении организован роутинг запросов.

Ответы>>778789

24 Июн, 15:25 #497 #778789

>>778784
Это не важно, важно как сам код отдельно от запросов организовать. Но выглядит сейчас так:

handlers = [
...

(r"/attach", h.AttachAccountHandler),
(r"/auth", h.AuthorizeHandler),
(r"/resolve", h.ResolveConflictHandler),
(r"/validate", h.ValidateHandler),
(r"/extend", h.ExtendTokenHandler),

...
]

24 Июн, 16:21 #498 #778811

>>778755
пакет api_v01, api_v02, в каждом из них своих вьюхи и урлы, которые инклюдятся в глобальном urls.py (джанга)

(r"/v0.1", include('api_v.01.urls'))

Ответы>>778816>>778835

24 Июн, 16:28 #499 #778816

>>778811
Как ты определил, что у него django?

Ответы>>778835

24 Июн, 16:31 #500 #778819

>>778674
Да валом
Вбивай Джанго шоп/блог/твиттер/что угодно туториал и смотри
Начать можешь с Джанго гёрлз туториал

24 Июн, 16:31 #501 #778820

>>778721
Пандас чем тебе не CSV?

24 Июн, 16:32 #502 #778822

>>778686
фор орешек ин корзинке
фор элемент ин лист
И тд
Главное что бы быстро врубиться можно было что это и зачем

24 Июн, 16:54 #503 #778835

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

84 Кб, 717x560

25 Кб, 800x600

24 Июн, 17:10 #504 #778843

Аноны, почему у меня рисуется гистограма с подписями 1.0 2.0 и т.д, если мне нужно 10, 20, 30 и тд?

Ответы>>778852

15 Кб, 717x79

18 Кб, 717x121

24 Июн, 17:17 #505 #778852

>>778843
Я понял, что функция float преобразовывает мои значения. Как мне перевести строковое '69.65' в обычное 69.65?

Ответы>>778854

24 Июн, 17:19 #506 #778854

>>778852
>>> float(' 69.95')
69.95

Ответы>>778855

24 Июн, 17:23 #507 #778855

>>778854
Так ты посмотри второй пик, почему они преобразовываются в 6.0

Ответы>>778857

24 Июн, 17:26 #508 #778857

>>778855
Потому что для чего ты делаешь i[1] и x[1]? Оставь просто i и x.

Ответы>>778860

24 Июн, 17:31 #509 #778860

>>778857
Спасибо, сейчас попробую.

24 Июн, 18:24 #510 #778902

Решил спрыгнуть с Selenium. Альтернатив мало beautifulsoup может выполнять js? Что надо прописывать в профиле, чтобы прикидываться полноценным браузером?

24 Июн, 20:05 #511 #778952

Есть какой - нибудь сайтик, который сам тебе прописывает регулярное выражения для заданной строки? Сколько не ебался, никак строку Оруэлл Дж. не находит.

Ответы>>778958>>779621

24 Июн, 20:14 #512 #778958

>>778952
Зачем тебе регулярки? Используй HTML-парсер и бери просто текст из тега с определенным классом.

Ответы>>778961

24 Июн, 20:16 #513 #778961

>>778958
Преподаватель сказал.

24 Июн, 22:25 #514 #779112

Как сделать так, чтоб кириллица работала? Ищу через регулярные выражения, которые на сайте находят в строках это слово, а в програаме выводится как пустота.

Ответы>>779124

24 Июн, 22:53 #515 #779124

>>779112
Какая версия питона? Где код? Вы заебали уже.

P.S. Скорее всего ты не любишь читать доки

Ответы>>779141

24 Июн, 23:24 #516 #779141

>>779124
нахуй ты ему отвечаешь?!

Ответы>>779156

24 Июн, 23:48 #517 #779156

>>779141
Сорь. Мне было скучно. Больше не буду.

25 Июн, 11:34 #518 #779348

Что за неведомую херню возвращает super? https://ideone.com/7xXHhb

51 Кб, 700x400

25 Июн, 11:43 #519 #779350

Пацаны, нид хелп
Нахожусь в командировке
Имею вин-10 ноут с ебанутым UEFY на который ещё и ставить толком ничего нельзя из альтернативных систем
Внезапно нужно до пнд запилить простенький сайтец-одностраничник
Хочу сгенерировать его на https://github.com/eudicots/Cactus или http://blog.getpelican.com/ и потом доводить до ума, ведь шеф тот ещё эстет.

А теперь, внимание, вопрос знатокам:
Как мне всё это провернуть из-под блядской винды? И какой сайт-ген выбрать? Где брать джанго-шаблончики для Кактуса и тд

25 Июн, 12:18 #520 #779370

Пилите перекат, тред не бампается.

ПЕРЕКАТ 25 Июн, 14:28 #521 #779414

https://2ch.hk/pr/res/779413.html (М)
https://2ch.hk/pr/res/779413.html (М)
https://2ch.hk/pr/res/779413.html (М)

25 Июн, 17:45 #522 #779621

>>778952
http://regex.alf.nu/

26 Июн, 08:13 #523 #780047

>>772532
https://www.yhat.com/products/rodeo/

29 Июн, 10:32 #524 #783014

анон, помоги. в файле txt надо найти ВСЕ имена + фамилии и вывести их на экран. Я только понял, что надо через регулярные выражения это делать, но не знаю, как именно. Если ты напишешь кусочек кода, который делает эту магию, то с меня спасибы, а не как обычно

29 Июн, 18:37 #525 #783344

Аноны пытаюсь решить такую задачу, но пока не получается :
дана последовательность чисел (например 112222555555444), нужно написать функцию которая выводит самую длинную подпоследовательность одинаковых чисел в этой последовательности, понятно что это
555555, но как вывести её и индексы начала и конца этой подпоследовательности.

Ответы>>783353

29 Июн, 18:47 #526 #783353

>>783344
решай в перекатаченном треде, для начала

29 Июн, 19:24 #527 #783380

>>772643
Это часть твоей жизни. Да и сам ты, если внимательнее присмотреться....

30 Июн, 14:06 #528 #784191

Анон, как можно реализовать скачивание музыки с sc(soundcloud.com), если она там не хранится где-то, а передается по частям, ну тобишь подгружается?

01 Июл, 13:30 #529 #785120

https://ideone.com/NN1z2L
Вот этот код должен пройти по списку и проверить, является ли хоть один из членов списка нулём. Если да - то он должен сказать False, если нет - True. Но он работает только на первом члене списка, дальше затыкается. Почему?

Ответы>>785215>>785216>>785234

01 Июл, 15:31 #530 #785215

>>785120
А первый елемент в списке ноль или не ноль?

Ответы>>785217

01 Июл, 15:32 #531 #785216

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

Ответы>>785224>>785234>>793540>>793558

01 Июл, 15:32 #532 #785217

>>785215
Не ноль.

01 Июл, 15:35 #533 #785221

через пайтонтутор прогони код, погляди что он выполняет.

Ответы>>785260

01 Июл, 15:37 #534 #785224

>>785216
Да, полагаю именно в этом дело - сейчас, когда учусь разные циклы писать, то с return приходится долго ебаться.

01 Июл, 15:44 #535 #785234

>>785120
https://ideone.com/yiVuUX

>>785216
прав

Ответы>>785260

164 Кб, 682x1024

88 Кб, 885x1145

54 Кб, 600x900

66 Кб, 1200x675

01 Июл, 16:28 #536 #785260

>>785234
>>785221
Всё, как надо решил и посмотрел, сэнкс. Держите няшек.

73 Кб, 186x306

04 Июл, 17:36 #537 #787815

Может у кого-то имеется Modern Python Development with PyCharm в mobi/epub/pdf?

06 Июл, 21:53 #538 #789941

Как разрывать соединение в модуле urllib2 после отправки запроса? Мне нужно только отправлять данные. Ответ на запрос меня не интересует.

09 Июл, 12:41 #539 #792092

Сорян за тупой вопрос, но чем конкретно отличаются два вида задания переменных?
https://ideone.com/qSTuSZ

Ответы>>792317

09 Июл, 17:00 #540 #792317

>>792092
Питон тред перекатился

10 Июл, 15:04 #541 #792839

А можно как-то не ждать ввода input и дальше запустить программу? или может есть другие похожие команды
хочу сделать программу с вводом и параллельным отсчетом времени, пробовал threading.Timer, но его дважды не запустишь и к тому же сложна

11 Июл, 14:34 #542 #793540

>>785216
если быть точнее, то return возвращает определенное значение из функции, а вот инструкция break прерывает цикл

Ответы>>793544

11 Июл, 14:40 #543 #793544

>>793540
и вообще можно еще так
https://ideone.com/4Wv1kR

11 Июл, 14:53 #544 #793558

>>785216
можно еще так
https://ideone.com/CCgMm7

83 Кб, 811x521

12 Июл, 22:33 #545 #794756

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

13 Июл, 13:49 #546 #795084

Нужно работать с PostgreSql, а я хз что это и как с ним работать. Поскидывайте гайдики по этой штуке.
С питоном вроде через Psycopg2 работать с этой бд?

13 Июл, 21:23 #547 #795422

Привет. Писал давным-давно, еще в студенчетве, на питоне 2.7 программки мелкие, решил вспомнить и написать бота для телеграмма (раньше писал что-то подообное для xmpp). Дано: win 7.
Скинул в папку pyTelegramBotAPI-master с гитхаба, пишу:
>import sys
>sys.path.insert(1, 'pyTelegramBotAPI-master')
>import telebot

На выходе имеем:
>Traceback (most recent call last):
.....
>import telebot
>File "pyTelegramBotAPI-master\telebot\__init__.py", line 8, in <module>
>import six
>ImportError: No module named six

В __init__ телебота:
from __future__ import print_function

>import threading
>import time
>import re
>import sys
>import six
В чем причина? Проблема в библиотеке?
Инб4 во мне, и так знаю

Помогите битте, года четыре не пейсал ничего.

Тред утонул или удален.
Это копия, сохраненная 14 июля 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion