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

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

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

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

183 Кб, 2000x2000

Python Python 20 Мар, 02:02 #693065 В конец треда | Веб

Шапка: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Прошлый: >>684010 (OP)

Ответы>>694096>>695952>>701024>>703031

20 Мар, 02:04 #2 #693069

ДЛЯ ЖЕЛАЮЩИХ ВКАТИТЬСЯ

Python 2 или Python 3: 2.4

20 Мар, 03:20 #3 #693099

Сап, посоны. Подскажите, для парсинга WEBM-файлов подойдёт какой-нибудь условный LXML или Grab ?

Ответы>>693101>>693102>>693421

139 Кб, Webm

20 Мар, 03:24 #4 #693101

>>693099
>парсинга WEBM-файлов

Ответы>>693104

20 Мар, 03:24 #5 #693102

>>693099
webm — бинарный формат, для его парсинга подойдёт struct/construct.

Ответы>>693104

20 Мар, 03:33 #6 #693104

>>693101
>>693102
Извините, неверно выразился. Парсинг html-страниц, для поиска webm

Ответы>>693107>>693108>>693109>>693147

20 Мар, 03:43 #7 #693107

>>693104
С сосача что ли вебмки качать надо?

Ответы>>693409

20 Мар, 03:46 #8 #693108

>>693104
Для парсинга lxml/html5lib.

Ответы>>693409

20 Мар, 03:49 #9 #693109

>>693104
beautifulsoup4, вот это ещё посмотри https://github.com/ValdikSS/endless-sosuch

Ответы>>693409

20 Мар, 06:14 #10 #693129

Ананасики, помогите. Начал джангу изучать, следую инструкции джангобукру, дохожу до места где надо сервер поднимать $ python manage.py runserver

в ответ консоль меня нахуй шлет

Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

что происходит? куда потерялся джанго_кор_менеджмент?

Ответы>>693133

20 Мар, 06:32 #11 #693132

Ты django куда устанавливал? если использовался virtualenv перейди в соответствующее виртуальное окружение.

Ответы>>693133>>693136

20 Мар, 06:33 #12 #693133

>>693129
>>693132

20 Мар, 06:44 #13 #693136

>>693132
Эммм...

>sudo pip3 install django

Подозреваю что дефолтная маковская директория

Ответы>>693137

20 Мар, 06:47 #14 #693137

>>693136
> pip3
> python2 manage.py runserver

20 Мар, 07:42 #15 #693142

Можно ли автоматом применить декоратор ко всем методам класса?

Ответы>>693162

20 Мар, 08:44 #16 #693147

>>693104
Онли лхмл и суп. Граб - говно, с каждой версией они блядь меняют всё, что хуй проссыш, документация вперемешку ко старым и новым версиям, поддержку блядь не могут нормальную сделать, угадывай сам блядь, макаки ебаные, васяны сука подзалупинские.

Ответы>>693409

20 Мар, 10:33 #17 #693162

>>693142
Пишешь классу декоратор, который проходится по всем методам и применяет декоратор им.

20 Мар, 13:50 #18 #693248

Поцоны, пытаюсь разобраться с алгоритмом blowfish, вот в этом примере http://pythonhosted.org/pycrypto/ они добавляли байты 0x08 в конец, чтоб сообщение было кратно 8 байтам. Ок.
1) А как принимающей стороне избавиться от этих байтов? (напишите пожалуйста что писать в функцию unpack)
2) При этом как узнать вдруг этот байт (0х08) является частью сообщения?
3) Можно сделать тоже самое только заполнять нулями? Напишите пожалуйста функцию pack, чтоб нулями заполняла.

Ответы>>693252>>693428

20 Мар, 13:56 #19 #693252

>>693248
ссылку забыл http://pythonhosted.org/pycrypto/Crypto.Cipher.Blowfish-module.html

20 Мар, 16:17 #20 #693362

Питонач, я изучил питон и попрактиковал джангу, но у меня в городе (Челябинск) нету вакансий, в которых требование для соискателя знание питона (есть 1с, java, js, языки для .net и т.п), что мне делать? Переезжать не вариант (вся зарплата будет уходить на съем, а мне эту часть нужно откладывать). Учить другой язык и фреймворк времени нет. Писать на js не хочу, хочу опыта на питоне.

Ответы>>693371>>693372>>693423>>693870

20 Мар, 16:25 #21 #693371

>>693362
>2016
>не работать на удаленке

20 Мар, 16:26 #22 #693372

>>693362
нужно было изначально java учить, питон это язык джаст фор фан.

20 Мар, 17:08 #23 #693409

>>693107
Да лол, хотел автоматизировать ПРОСМОТР WEBM

>>693108
>>693147
Спасибо за пояснения!

>>693109
Отлично! Это именно то, что нужно. Большое спасибо!

Только теперь столкнулся с проблемой отсутствия модуля gi. Сижу на семёрке, с анакондой.
Пытаюсь поставить как gi так и эту хуягу https://anaconda.org/KristanArmstrong/pygobject, но ничего не выходит. Pygobject конфликтует с уже якобы установленным pygobject, но он не установлен (пытаюсь получить по нему информацию, но конда не находит такого модуля).
Никто с подобным не сталкивался?

Ответы>>698254

20 Мар, 17:29 #24 #693421

>>693099
lxml - тру
beautyful soup - не настолько тру (медленнее, на невалидном хтмл может сломать)
grab - вообще поделка какая-то

Ответы>>693789

20 Мар, 17:32 #25 #693423

>>693362
на одеск/апворк же

или удаленку ищи

20 Мар, 17:38 #26 #693428

>>693248
Сообщение должно быть кратным 8 байтам. Поэтому, если,например, у нас 65 байт сообщения, следующий "крат" - 72. Длина паддинга - 7. Поэтому паддинг будет 7,7,7,7,7,7,7.
На принимающей стороне, после расшифровки, смотрим на последний байт сообщения. Он равен 7. Откусываем 7 байт, получаем только полезное сообщение.

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

1) ты должен уже понять
2) последний байт всегда является частью паддинга
3) надо по-любому как-то знать, сколько байт в паддинге. В крайнем случае, можно в одном байте (или в 3х битах точнее) указать длину паддинга, остальное забить нулями

на coursera курсы по крипте пройди

21 Мар, 00:57 #27 #693789

>>693421
>beautyful soup - не настолько тру (медленнее, на невалидном хтмл может сломать)
Суп использует любой из доступных парсеров: lxml, html5lib, etree. Так что не пизди.

21 Мар, 05:24 #28 #693864

рипост из прошлого:

Проблема с логгированием и pybrain.
В общем, есть примитивный код: http://pastebin.com/wcEhadUm
И, собственно, какого чёрта импорт pybrain'а влиет не только на существующие, но и вообще на все новые логгеры? Как так-то, блин?!

Там в нём есть напрямую вызовы logging.warn(...), которые, вроде как, и есть проблемные места (в рут логгер, что ли, добавляется дефолтный хендлер, который вызывается всегда, так как является "родителем" всех логгеров полученных через менеджер). Но что это за бред-то, блин? Единственный способ получить чистый, личный логгер - это напрямую l = logging.Logger('mojo'), но тогда он в менеджер не запишется и я из другого модуля не смогу его через getLogger получить никак (создастся новый).

Что я не так делаю-то, как мне быть? Хочу логгер через getLogger, но без "чужого" мусора в нём.

Собственно, вот это можно запустить для иллюстрации проблемы (на идеоне не работает logging) — http://ideone.com/8p6md2

Пока что решил добавлением
>logging.root.handlers = []
после импортов pybrain'а, но это какая-то хуйня, а не решение же.

21 Мар, 07:35 #29 #693870

>>693362
Не так давно общался в /b/ с земелей Миасс, тот съебал в Ёбург быдлокодить бэкэнд на пистоне. Говорит вакансий для питоностов масса.

Ответы>>694594

21 Мар, 08:58 #30 #693891

Можно ли как-нибудь получить изображение какой-либо программы (линукс/мак), которая может быть (1) в фоне/свёрнута или (2) частично перекрыта другим окном?
Вариант "записать верхнее окно -> активировать нужное -> скриншот экрана -> активировать сохранённое в первом шаге окно", конечно, будет работать, но как-то это не красивенько.

Ответы>>693895

21 Мар, 09:11 #31 #693895

>>693891
import -window id screen.png
id можно узнать через xwininfo
Однако успех при натравливании на свернутое окно зависит от WM. Про мак хуй знает. Еще man wmctl посмотреть можешь.

Ответы>>693906

21 Мар, 09:35 #32 #693906

>>693895
А без записи в файл возможно?

>import -window id screen.png
Что-то понять не могу, что этот код вообще должен делать? Откуда дефис? По-моему, тут что-то всё удалилось перед отправкой.

Ответы>>694043

21 Мар, 09:44 #33 #693912

Подскажите новичку.
Есть числовая матрица 2 на 100. Считал ее из Excel в dframe.
Как посчитать разницу между каждым 5 элементом (5-1, 10-5, 15-10) и вывести ее в новый столбец?

Ответы>>693990

21 Мар, 11:12 #34 #693951

Аноны, подкиньте годных блогов по Django
community/ с оф документации не надо кидать

Ответы>>693952

21 Мар, 11:14 #35 #693952

>>693951
https://habrahabr.ru/hub/django/
https://www.reddit.com/r/django/
А что ещё? Да хуй знает. Остальное всё разрозненное.
Гугли django tutorial + кейворд и ройся в них

Ответы>>693953

21 Мар, 11:18 #36 #693953

>>693952
Я не ищу решение какой то проблемы, я говорю о блогах в общем, с интересными решениями каких то вопросов

Ответы>>693956

21 Мар, 11:23 #37 #693956

>>693953
Туда-сюда такое проскакивает во всяких питон-рассылках:
http://www.pythonweekly.com
http://importpython.com

Сибиряки тоже норм https://pythondigest.ru

Ответы>>693958

21 Мар, 11:25 #38 #693958

>>693956
спасибо

21 Мар, 11:47 #39 #693966

можно ли зарабатывать (желательно фриланс) питоном, но чтоб не веб?

Ответы>>694046

21 Мар, 12:20 #40 #693990

>>693912
Каждый пятым элементом в одном столбце? 5-1 != 10- 5, если чо. И не очень понятно, как ты хочешь это вставлять дополнительным столбцом, ведь он будет в 5 раз короче меньше имеющихся.
Вот тебе пример с добавлением нулей в промежуточные клетки - http://ideone.com/jjVNVg (dframe это из pandas, что ли?)
А в вём проблема в том же экселе и посчитать? А то придёшь завтра с вопросом "как dframe в эксель записать", лол.

Ответы>>694005

21 Мар, 12:31 #41 #694005

>>6939>>693990
Чтобы понятней было. Первый столбец время, второй температура, нужно изменение за каждые 5 минут получить.
Нужно я так понимаю цикл запустить и результат записать в новый столбец.
За пример спасибо, погляжу.

21 Мар, 13:18 #42 #694043

>>693906
Это баш

Ответы>>694078

21 Мар, 13:22 #43 #694046

>>693966
Смотря что подразумевать под вебом. Грабить дату с веба - тоже веб? Ну вообще фриланс в погромированнии - 90% веб. Так что как повезет.

Ответы>>695087

47 Кб, 403x604

21 Мар, 13:29 #44 #694051

Анон, вот у меня есть репозиторий, созданный в github'е, то есть, все файлы я создавал там (копировал, вставлял). Как мне подключиться к этому аккаунту через консоль?

Ответы>>694054>>694056

21 Мар, 13:33 #45 #694054

>>694051
https://help.github.com/articles/adding-a-remote/

Ответы>>694112

21 Мар, 13:35 #46 #694056

>>694051
Еще добавлю что для консольных джедаев есть смысл сгенерировать и добавить публичный ключ и подключаться по ssh с авторизацией по этому ключу.
Так пуш-пулл значительно проще автоматизируется.

Ответы>>694057

21 Мар, 13:36 #47 #694057

>>694056
Для любых джедаев. Авторизация по паролям - позапрошлый век.

Ответы>>694061

21 Мар, 13:37 #48 #694061

>>694057
Ну хз, может он старовер какой.

21 Мар, 13:56 #49 #694078

>>694043
import — это баш? Что-то ты меня запутать хочешь, по-моему.
>$ import
>The program 'import' can be found in the following packages:
> imagemagick
> graphicsmagick-imagemagick-compat
>Try: sudo apt-get install <selected package>

21 Мар, 14:40 #50 #694096

>>693065 (OP)
Есть серьёзный вопрос, змейки. Может ли питон отлично работать с файлами? И вообще что для этого лучше подойдет?

Ответы>>694097>>694098>>694186

21 Мар, 14:42 #51 #694097

>>694096
>Может ли питон отлично работать с файлами?
Что для тебя отлично?

Ответы>>694100

39 Кб, 200x200

21 Мар, 14:42 #52 #694098

>>694096
> отлично работать с файлами

21 Мар, 14:43 #53 #694100

>>694097
>Что для тебя отлично?
Ну чтобы он сам делал что я захочу.

Ответы>>694104>>694121>>694186>>694187

192 Кб, 811x936

21 Мар, 14:48 #54 #694104

>>694100
>сам делал что я захочу

21 Мар, 14:57 #55 #694112

>>694054
О, отлично. Спасибо.

189 Кб, 1024x768

21 Мар, 15:05 #56 #694121

>>694100

102 Кб, 720x720

21 Мар, 15:49 #57 #694186

>>694096
>>694100
Ты ебанутый какой-то. Что конкретно надо?

Ответы>>694187

21 Мар, 15:51 #58 #694187

>>694186
>Что конкретно надо?
>>694100 это

Ответы>>694192

21 Мар, 15:53 #59 #694192

>>694187
А ты можешь делать то, что я захочу? Вот и иди нахуй.

Ответы>>694244

21 Мар, 16:26 #60 #694244

>>694192
>А ты можешь делать то, что я захочу?
нет, я же не питон.

23 Кб, 364x230

58 Кб, 294x295

21 Мар, 17:06 #61 #694308

> html+css+js ≈ 50%
Тяжко быть вебмакакой.

Ответы>>694325>>694330

21 Мар, 17:14 #62 #694325

>>694308
Твой проект? Что там раст делает?

Ответы>>694331>>694337

21 Мар, 17:15 #63 #694330

>>694308
Это диаграмма чего ?

Ответы>>694331

21 Мар, 17:18 #64 #694331

>>694325
Общая статистика wakatime, там всё вместе, на досуге решил покомпелировать немножно.

>>694330
Использования языков и "языков", очевидно.

21 Мар, 17:22 #65 #694337

>>694325
Ржавеет, как всегда.

21 Мар, 17:53 #66 #694383

http://ideone.com/7gWCD9
Как так, почему нампи в полтора раза медленнее?

21 Мар, 18:31 #67 #694453

Вы что, тут все на *nix разработку ведёте?

Ответы>>694455>>694457>>694458>>694459

21 Мар, 18:33 #68 #694455

>>694453
Под nix на nix, но встречаются упертые ньюфаги-неосиляторы.

23 Кб, 733x413

21 Мар, 18:34 #69 #694457

>>694453
Добро пожаловать в реальный мир.

http://stackoverflow.com/research/developer-survey-2016

Ответы>>694706>>694857>>696383

21 Мар, 18:34 #70 #694458

>>694453
А ты считаешь, что есть выбор?

21 Мар, 18:35 #71 #694459

>>694453
И я смешно шучу

21 Мар, 19:08 #72 #694511

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

Ответы>>694515>>694652

21 Мар, 19:16 #73 #694515

>>694511
Рисовать только маркеры которые находятся в зоне видимости
Делать более детальную прорисовку толкько при зуме.
и.т.д

Ответы>>694527

21 Мар, 19:45 #74 #694527

>>694515
Я и так рисую только заданную область. Предлагаешь аппроксимацию? Тогда зум будет еще тяжелее.

21 Мар, 20:06 #75 #694545

Я систему автодеплоя сделал. Скоро буду её продвигать некоторым людям, а у меня там ни одной звёздочки нет. Поставьте звезду, а я на ваш проект поставлю. https://github.com/Vladimir37/Sanelotto

Ответы>>694547>>694552

21 Мар, 20:08 #76 #694547

>>694545
>Поставьте звезду, а я на ваш проект поставлю
Это такое тонкое предложение сдеанониться? Иди своей дорогой.

>Я систему автодеплоя сделал.
#!/bin/sh и scp?

Ответы>>694550

60 Кб, 500x345

21 Мар, 20:10 #77 #694550

>>694547
>деанон
>2016
>/pr/

Ответы>>694551

21 Мар, 20:13 #78 #694551

>>694550
Ты тут всех знаешь?

21 Мар, 20:14 #79 #694552

>>694545
>SSH connection
Ну тащемта я угадал.

Поправь свой ужасный ангельский в README.md и вбрасывай на реддит в /r/linux, /r/opensource, /r/python. 30-50 лойсов получишь.

Ответы>>694562

21 Мар, 20:17 #80 #694562

>>694552
>вбрасывай на реддит
Точно, я забыл про него. Спасибо!

21 Мар, 20:44 #81 #694594

>>693870
в Екб полторы вакансии для питонистов

21 Мар, 21:39 #82 #694652

>>694511
Бамп вопросу.

21 Мар, 22:08 #83 #694685

Вкатился.

21 Мар, 22:29 #84 #694706

>>694457
~52% всё же на винде

865 Кб, 224x400

21 Мар, 22:37 #85 #694718

Чё кодить, пацаны? Для развития кругозора
Вот вы чё кодите? Не по работе, там ясно что джанго какое-нибудь, а вот вообще, для души там или типа того?

Ответы>>694731>>694734>>694835>>694870

21 Мар, 23:02 #86 #694731

>>694718
Ну вон анон чуть выше свое для души вбросил.

Ответы>>694914

21 Мар, 23:04 #87 #694734

>>694718
codewars.com?

Ответы>>694830>>694914

22 Мар, 00:36 #88 #694830

>>694734
> для души
> решать дебильные задачки

22 Мар, 00:42 #89 #694835

>>694718
Можешь игры клепать, если тебе это интересно.

Ответы>>694839>>694914

22 Мар, 01:22 #90 #694839

>>694835
Игру делать - это не круды с парсерами лепить, тут парой недель не отделаешься. Если это не клон Марио конечно, но это не интересно.

22 Мар, 02:13 #91 #694857

>>694457
Ну, если учесть, что кол-во польхователей СНГ ничтожно мало по сравнению с Европой и США, и отсутствие дикого оверпрайса на маки там, то логично, что их так много. Да и в любом случае винды в сумме гораздо больше, так что кол-во пользователей мака в итоге ближе к кол-ву пользователей линукса.

22 Мар, 02:40 #92 #694870

>>694718
Ебал я кодить дома помимо работы. И так жизни нет.

22 Мар, 10:00 #93 #694914

>>694731
Ну весь гитхаб не перерыть, а так бы клоноделством "для навыка" я бы конечно занялся. Того и спрашивал.
>>694734
Да ну их эти олимпиадные задачки! я ж джуном не в комитет придумывающий олимпиады мечу
>>694835
Не прельщает, увы.

22 Мар, 14:41 #94 #695081

Почему третий питон так странно конвертит байты через str()?

str(b'123')
Во втором: '123'
В третьем: "b'123'"

Ответы>>695083

22 Мар, 14:44 #95 #695083

>>695081
А, понял - надо encoding явно указывать.

126 Кб, 900x1350

22 Мар, 14:54 #96 #695087

>>694046
>Грабить дату с веба - тоже веб?
Вот это уже норм.
То есть без джанги нехуй делать да во фрилансе?

Ответы>>695162

26 Кб, 450x410

22 Мар, 16:35 #97 #695154

Анончик. Имеется 'Gtk.ScolledWindow' в 'Gtk.Viewport' с горизонтальным скроллбаром. Как сделать, чтобы эта область прокручивалось кнопками? (помню задавал этот вопрос, но наработки проебал).

22 Мар, 16:41 #98 #695162

>>695087
Нейронные сети пиши.

1868 Кб, 260x173

22 Мар, 19:09 #99 #695282

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

Ответы>>695284>>695320>>697483

22 Мар, 19:10 #100 #695284

>>695282
Пиши имиджборду.

22 Мар, 19:30 #101 #695320

>>695282
В книжечках все примеры и задания решать.
можешь ещё http://blog.programmersmotivation.com/2014/07/09/list-projects/ пошерстить, особенно рекомендую указанную там секцию на гитхабе

Ответы>>696005

22 Мар, 21:48 #102 #695604

На питоне реально писать аппы для телефонов? Кто-нибудь пишет? Нашел kivy и sl4a для этого.

Ответы>>695618

22 Мар, 21:56 #103 #695618

>>695604
https://tproger.ru/translations/python-development-on-android/

22 Мар, 22:02 #104 #695627

Двач, прошёл курс на codecademy, было всё очень удобно и приятно. По центру экрана писал код, а в левом верхнем углу выдавались ошибки и итоги программы. Закончил курс, скачал питон, включил этот IDLE, а там просто отвратительное окошко. Ошибки выдаёт туда же, где пишу код, а код после ввода нельзя исправлять, приходится копировать его заново и там уже делать все исправления.
Перед этим попробовал вот этот гайд http://learnpythonthehardway.org/book/ex0.html
Делал всё как написано, кроме того, что третий питон вместо второго устанавливал. Просто не работает.
Уверен, что есть решение этой проблемы, даже в школе, когда на С писали было и то удобнее

Ответы>>695660

36 Кб, 650x600

22 Мар, 22:28 #105 #695660

>>695627
File -> New File

Ответы>>695668>>697542

22 Мар, 22:39 #106 #695668

>>695660
Типо надо всегда там писать, а потом копировать код в основной файл и проверять?

Ответы>>695689

22 Мар, 22:51 #107 #695689

>>695668
установи саблайм и не еби мозги.
Можешь конечно стать вимоебом еще, но это для поехавших

Ответы>>695697

116 Кб, 500x500

22 Мар, 22:59 #108 #695697

>>695689
или атомобарином

22 Мар, 23:07 #109 #695706

>2016
>передвигаться по коду СТРЕЛОЧКАМИ
>дергать руку до мышки каждые пять секунд
>не держать руки на homerow

Ответы>>695711

22 Мар, 23:11 #110 #695711

>>695706
нахуй пошел на всякий случай, хоть я и не понял твоего поста.

Ответы>>695712

22 Мар, 23:14 #111 #695712

>>695711
>не понял твоего поста
Я и не сомневался.

Ответы>>695716

22 Мар, 23:16 #112 #695716

>>695712
Похоже было слишком тонко. Вимоебы аутсайдеры, смекаешь?

Ответы>>695722>>695792

22 Мар, 23:23 #113 #695722

>>695716
Передашь от меня привет туннельному синдрому как до 35 доживешь, любитель мышек и стрелочек.

22 Мар, 23:26 #114 #695725

https://www.codecademy.com/learn/python
Вот и приехали. Все годные задачи платно.

Ответы>>695731>>695739

22 Мар, 23:32 #115 #695731

>>695725
Думаешь, пришло время пилить свои задачи?

Ответы>>695746>>695749

22 Мар, 23:38 #116 #695739

>>695725
Ну разок 20 баксов чего бы и не выделить, а за месяц ты 100% всю хуйню перерешать успеешь

22 Мар, 23:42 #117 #695746

>>695731
Не знаю, хватит ли этого для начала. Вот по совету Анона решил вкатиться в Питон с изучения кодакадеми + Лутц параллельно, а тут такие дела. Стоят ли они $20 или это очередная наёбка? В последнее время очень скептически отношусь ко всем курсам.

Ответы>>695772

22 Мар, 23:43 #118 #695749

>>695731
Пилить и продавать.

22 Мар, 23:51 #119 #695772

>>695746
>стоят ли они $20?
Нет. Этот курс можно за день пройти, я лично не вижу смысла тратить на него деньги. Задачки есть, например, на checkio, codewars и в любой книге для начинающих.

Ответы>>695775

22 Мар, 23:53 #120 #695775

>>695772
Де брать задачки для чуть-более-чем-начинающих?
Интерес не праздный, если честно. Застопорился, а до джуна один хуй не тяну.

Ответы>>695791

23 Мар, 00:03 #121 #695791

>>695775
Если тебе главное до джуна дотянуть чтобы найти работу то просто задрачивай нужный фреймворк и пили всякие круды(если ты в веб хочешь податься)

Ответы>>695808

48 Кб, 727x948

23 Мар, 00:04 #122 #695792

>>695716
>Вимоебы аутсайдеры
А то!
Историю создания Саблайма надеюсь знаешь

Ответы>>695826>>695843>>695951

23 Мар, 00:14 #123 #695808

>>695791
Мне главное что бы по фану было.
Фан от консолеговна, парсеров, всяких машин лёрнингов и пандасов я ловлю, а от джанги (которая для меня состоит из неочевидной "А ЕСЛИ ХОЧЕШЬ ЧТО БЫ ХУИТКА БЫЛА С МЕНЮ - ПРОСТО ДОПИШИ django.model.menu(huyar, ' ', hui)"
И даже работу пока не ищу, просто было бы неплохо в случае возникновения в ней необходимости быть готовым на что-то претендовать.

Бывают вообще питоновакансии вне вебдева?

Ответы>>695835

23 Мар, 00:31 #124 #695826

>>695792
Я тебе миллион таких графиков нарисую. Лол
проорал с тебя

Ответы>>695827

23 Мар, 00:32 #125 #695827

>>695826
http://stackoverflow.com/research/developer-survey-2016

Нарисуй.

Ответы>>695829

23 Мар, 00:33 #126 #695829

>>695827
СТАКОВЕРФЛОУ
АХАХАХАХХАХАХА
съеби под шконарь

Ответы>>695832

23 Мар, 00:34 #127 #695832

>>695829
поставил лойс, тонкота)

Ответы>>695834

23 Мар, 00:35 #128 #695834

>>695832
Спасибо, братик.

23 Мар, 00:36 #129 #695835

>>695808
>Бывают вообще питоновакансии вне вебдева?
Для невеб вакансий нужно подробно понимать, как и что работает. А тебе с таким подходом только в 1С.

447 Кб, Webm

23 Мар, 00:42 #130 #695843

>>695792
> Notepad++
> 35.6%
> NOTEPAD++

Ответы>>695846

23 Мар, 00:43 #131 #695846

>>695843
Спасибо, братик.

23 Мар, 01:12 #132 #695864

Core Python Applications programming - Устаревшее говно из 2012 года. В книге много тем, но ни одна из них не раскрыта полностью. Впелили джангу на пол книги, но я бы по ней все равно не стал ее учить (зачем учиться по устаревшим источникам когда есть намного лучшие альтернативы). В итоге раздули на 800+ страниц. Код написан для питона 2 и иногда вставляют информацию о питоне 3, но это нихуя не раскрывает тонкостей работы с третьей версией. Задания крайне неинтересные и нет никакого желания их делать. Они даже не удосужились нормально обновить старые главы и постоянно встречается всякое говно типа "ну тут кароч написано про psycopg но вы будете использовать psycopg2))0 А еще мы оставили 20 страниц об давно умершем фреймворке и мы об этом знаем, но почему бы их не оставить))". 1/10 кароч.

Нахуя было это советовать в треде?

Ответы>>695868

23 Мар, 01:16 #133 #695868

>>695864
Это я виноват.
Я советовал. И тоже дропнул чуть после.
Прошу прощения.

23 Мар, 03:17 #134 #695916

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

Ответы>>695919

23 Мар, 03:24 #135 #695919

>>695916
Допустим, есть интерфейс на QT, в виджет лога которого дублируется все из переопределенной обретки stdout. В частности - красным выводятся ошибки, синим кое-какая инфа и тд.
Все это нужно дублировать в файл, чтобы информация сохранялась более, чем на 1 запуск.

Ответы>>695920

23 Мар, 03:27 #136 #695920

>>695919
Подозреваю в кутях должен быть какой-то класс уже содержащий текст и цвет где надо, а не просто выводящий. Прямо его и пиши. Или не прямо, а сконвертни в какой-нибудь жсон. Какая разница вообще в каком формате писать? Руками ты с ним работать не будешь. Я надеюсь.

Ответы>>695921

23 Мар, 03:34 #137 #695921

>>695920
Таки, может и буду. Я хочу убить еще одного зайца, и в случае наличия ошибок чтобы все это отсылалось на почту.
Сейчас еще пришла идея, что можно использовать html, и его же загружать прямо в виджет потом. Никакой разницы между тем, что отображается в виджете, и тем, что в файле будет.

27 Кб, 535x312

СПЕРМОПРОБЛЕМЫ-СПЕРМОПРОБЛЕМУШКИ 23 Мар, 04:54 #138 #695923

Нужно настроить роздачу файлов на windows сервере.
Идея такова: django приложение на впсочке с маленьким-маленьким ssd делает к выделенному windows серверу запрос, получает ссылки на файлы и отдает их пользователям по запросу.
Напердолить nginx+tornado? но в обеих поддержка окон для галочки, может их в докер запихнуть? или есть какой-то получше/попроще вариант?

Ответы>>695949

23 Мар, 06:05 #139 #695937

>файл программы, строки - в UTF - 8
>петон упорно пытается кодировать кириллицу черз ASCII при записи в файл
>используешь codecs.open вместо open
Ахах, петон 2.7 что ты делаешь, прекрати! У меня от этого ЯВНОЕ ЛУЧШЕ НЕЯВНОГО.

Ответы>>695938

23 Мар, 06:10 #140 #695938

>>695937
Сука, животное, блядь. Ну почему работа с юникодом такой адов пиздец?

sage 23 Мар, 08:12 #141 #695949

>>695923
-> /s/

23 Мар, 08:30 #142 #695951

>>695792
>Историю создания Саблайма надеюсь знаешь
А что с ней не так?

23 Мар, 08:31 #143 #695952

>>693065 (OP)
поцаны, делаем oregon trail. нужно чтобы игра тебя постоянно спрашивала вопрос "Что ты хочешь сделать?" и после того как ты сделал действие-она спросит еще раз,но когда дело доходит до второго действия, программа игнорит то что я ввожу и читает это как первый ввод. Например, я выбрал 1 в начале, игра опять запрашивает номер, выбрал 2- она все равно читает это как один. Как пофиксить?
commands=input("\nYour options are: \n1)Travel \n2) Rest \n3)Hunt \n4)Status \n5) Help \n6)Quit")

while not GAMEOVER:
print (commands)
answer=input("What do you want to do?")

if commands == "1":
update_days(3,7)
if MILES_LEFT<=1:
print (oregon())
else:
print(travel())

elif commands == "2":
update_days (2,5)
print(resting())

Ответы>>695955

23 Мар, 08:55 #144 #695955

>>695952
все, пофиксил

23 Мар, 09:21 #145 #695963

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

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

Ответы>>695987

23 Мар, 10:27 #146 #695987

>>695963
В чем проблема закопипастить в файл нужное наполнение при создании?

Ответы>>695991>>695992

23 Мар, 10:28 #147 #695988

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

Ответы>>696026

23 Мар, 10:39 #148 #695991

>>695987
А если он уже существует?

Ответы>>696004

23 Мар, 10:40 #149 #695992

>>695987
Вот в 3.3 есть режим 'х', малаца хорошо сделоли.

23 Мар, 11:04 #150 #696004

>>695991
Ну проверь, ёпте.
exists = os.path.isfile(filename)
with open(filename, 'w+') as f:
if not exists: f.write(BASE_CONTENT)
Или ты надеялся на магический режим открытия файлов "open_for_writing_and_write_data_from_variable_CONTENT_if_file_got_created_with_this_call"?

23 Мар, 11:05 #151 #696005

>>695320
Спасибо.

23 Мар, 11:46 #152 #696026

>>695988
https://docs.python.org/3/library/typing.html

350 Кб, 351x348

23 Мар, 12:30 #153 #696039

То чувство когда получил первый цент с рекламы на своем джангосайте который ворует контент бьютифулсупом

Ответы>>696059>>696259

23 Мар, 12:47 #154 #696059

>>696039
Вот это понимаю достижение. А где хостишь если не секрет?

Ответы>>696070

23 Мар, 13:20 #155 #696070

>>696059
Купленная (на совсем, да) ультраднищенская впс на cloudatcost.com
Там иногда io тормозит и вообще качество не оче но зато оплачивать не надо. Взял три года назад за десять баксов, три года она простаивала и хостила мои бекапы, теперь вот пользу приносит.

23 Мар, 17:01 #156 #696259

>>696039
какой контент воруешь?

Ответы>>696294

23 Мар, 17:52 #157 #696294

>>696259
Рецепты всякого говна из одноклассников

Ответы>>703213

23 Мар, 18:44 #158 #696383

>>694457
http://stats.wikimedia.org/wikimedia/squids/SquidReportOperatingSystems.htm

Ответы>>696398

23 Мар, 18:55 #159 #696398

>>696383
> Вы что, тут все на *nix разработку ведёте?
> разработку

Ответы>>696403>>696404

82 Кб, 1064x658

23 Мар, 18:58 #160 #696403

>>696398

23 Мар, 18:59 #161 #696404

>>696398
Код в итоге тоже на серверных линуксах крутится. А кто там с чего контент поглощает - дело десятое.

80 Кб, 574x574

23 Мар, 22:57 #162 #696672

Анончик, в классе выдаёт такую ошибку: "NameError: free variable self referenced before assignment in enclosing scope in lambda". До этого всё работало, пока не сделал "пакеты" (__init__.py).

Ответы>>696813

24 Мар, 01:18 #163 #696760

python 2:

>print -9 / 4
>3

python 3:
>print -9 / 4
>2.25

пришлось по нраву, что теперь сразу выдает float вместо int? это хорошо сыграло или похуй?

Ответы>>696762

24 Мар, 01:30 #164 #696762

>>696760
Не хорошо и не плохо. Это правильно и по дзену.

24 Мар, 01:48 #165 #696768

Начал проходить курс по courser'a, уже поздно, устал после работы, смотрю: практические задания. Элементарные какие-то вещи, как показалось, даже нет смысла приступать, все элементарно же. Но нифига, решил написать. Вот это смешное задание http://pastebin.com/j7t2HEZK

И сразу вопрос возник. Вообще это все можно решить в одну строчку, но мне безумно нравится расписывать как у меня, делать все наглядно, растягивать удовольствие, лол. Это нормально? Или в продакшене это будет непозволительно и надо ебашить коротко? Есть любители расписать как я?

Ответы>>696773

24 Мар, 02:06 #166 #696773

>>696768
От курсеры до продакшна еще успеешь комфортный себе и коллегам уровень детализации найти. Тем более это ж питон где все просто.

24 Мар, 03:00 #167 #696792

Если переопределить stdout - как вернуться на стандартный? Не могу найти, на что менять обратно, кроме как заранее, перед переопределением присваивать его переменной.

Ответы>>696794

24 Мар, 03:02 #168 #696794

>>696792
Или как создать обертку, которая будет писать и в питоновскую консоль, и куда-то еще?

Ответы>>696796

24 Мар, 03:06 #169 #696796

>>696794
Переопределять внутри обертки stdout на __stdout__?

24 Мар, 05:06 #170 #696813

>>696672
Код мы за тебя выдумывать должны?

24 Мар, 07:32 #171 #696831

Чуваки, подскажите, как поймать событие отправки документа на принтер?

Ответы>>696834

24 Мар, 07:35 #172 #696834

>>696831
В дополнение -- нужно именно сам ивент, возможно как-то через PyWin32 (да, на винде, надо для работы). Есть идеи?

24 Мар, 09:20 #173 #696854

Класс - это ссылочный тип?
возможно что то типа:

arr = []
arr.append(SomeClass())
ref = arr[-1]
ref.Value = 'Value'
arr[-1].Value
>Value

Ответы>>696856>>696868>>696872

24 Мар, 09:22 #174 #696856

>>696854
Да, так и есть.
Проверил быстрее, чем вопрос писал

22 Кб, 400x400

24 Мар, 09:44 #175 #696865

1. Как наебать PyCharm 30 days Trial?
2. Где он хранит дату первого запуска или как-то зацепку, которая дает отсчет этих 30 дней?
3. Кто-нибудь слушал wireshark (или чем-то подобным) его коммуникации с сервером? Он стучит на юзера своим хозяевам (как 90% софта в 2016)?

Ответы>>696868>>696871>>696890

24 Мар, 09:55 #176 #696868

>>696854
ржака, блин
>>696865
укажи сервер лицензий http://idea.lanyus.com/ и ебись он конём
параноики из /крипт/ уверены что да

24 Мар, 10:03 #177 #696871

>>696865
На торрентах же лежит без ебли с лицензиями.

24 Мар, 10:04 #178 #696872

>>696854
В питоне всё передаётся только ссылками. Просто есть иммутабельные объекты (строки, числа и т.д.), которые никак нельзя изменить.
a = "abc"
b = a
Что бы ты далее ни сделал с a — b так и останется равным "abc".

Ответы>>696876

24 Мар, 10:09 #179 #696874

Как заставить работать cx_freeze на 3.5? Он не собирается, сука...

Ответы>>696935

24 Мар, 10:17 #180 #696876

>>696872
Разве из этого не следует, что строка - тип значений?

Ответы>>696885

24 Мар, 10:41 #181 #696885

>>696876
Эээ, что?

24 Мар, 10:48 #182 #696890

>>696865
Они бесплатно лицензии раздают студентам. И вроде даже мелькало, что тем кто на степике зарегестрирован.

24 Мар, 12:15 #183 #696935

>>696874
pyinstaller

24 Мар, 12:27 #184 #696942

Господа, есть кучка картинок. Надо отобрать те, где есть текст. Текст обычно крупный и короткий, вроде того что на демотиваторах лепят. Может быть как русский так и английский. Это реально? Чем?

Ответы>>696951>>698629

24 Мар, 12:35 #185 #696951

>>696942
10 секунд в гугле(загуглил исключительно потому что самому интересно стало):
https://code.google.com/archive/p/pytesser/
https://github.com/tmbdev/ocropy

Ответы>>696975>>697185

24 Мар, 13:08 #186 #696975

>>696951
tesseract небплохо справился, спасибо.

Ответы>>698689

24 Мар, 17:15 #187 #697116

Приложения собранные через pyinstaller можно инжектить в процессы?

Ответы>>697118

24 Мар, 17:17 #188 #697118

>>697116
Чё бля?

24 Мар, 18:06 #189 #697159

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

Ответы>>697162>>697190

24 Мар, 18:09 #190 #697162

>>697159
Вся суть джанго.

Ответы>>697166

24 Мар, 18:11 #191 #697166

>>697162
Что? Не понял.

24 Мар, 18:26 #192 #697185

>>696951
Прикрутил еще cuneiform, вообще отлично стало. pyocr сразу обоих умеет.

24 Мар, 18:28 #193 #697190

>>697159
project/app/helpers.py

24 Мар, 18:36 #194 #697197

Анчоусы, что лучше первым прочитать, fluent python или python unlocked?

640 Кб, 1952x1953

24 Мар, 20:28 #195 #697308

Анончики, а допиливать через всякие replace и регулярочки выхлопы хтмл-парсеров - это норма?
Или я чего-то не понимаю, или теги с классами порой кривые - но не всегда удается точно выделить какой-то элемент, приходится брать с запасом и вырезать вручную лишнюю инфу.

Ответы>>697453>>697532>>697533>>697581

24 Мар, 22:41 #196 #697453

>>697308
>но не всегда удается точно выделить какой-то элемент
покажи как выделяешь, какие входные данные, что получаешь и что хочешь получить

и вообще, используй xpath

Ответы>>697581

25 Мар, 00:30 #197 #697483

>>695282
здесь есть довольно много примеров http://eax.me/programming-language-learning/

25 Мар, 00:35 #198 #697485

Вопрос по джанге.
Не совсем понимаю философию и общий подход.
Есть модель с такими то полями. Я хочу переодически(автоматически) добавлять новые пользуясь информацией из текстового файла.
Вопрос как это оформляется? В самой модели в виде классового метода? Это пока единственное что я сам могу предположить.
И как сделать переодические дейсвия(ну, вот это самое обновление)? Это делается на уроне джанги или сервера?

Ответы>>697489

25 Мар, 00:50 #199 #697489

>>697485
> И как сделать переодические дейсвия
celery, читаешь файл а асинхронном таске -> ложишь данные в модель

25 Мар, 02:47 #200 #697532

>>697308
beautifulsoup весьма удобен для навигации и выделения того, что тебе нужно. Там же и замена\заполнение\создание новых тегов есть, в удобном порядке.

25 Мар, 02:48 #201 #697533

>>697308
Ну и да, вполне норма, почему нет? Самому менять шрифт, цвет, или вообще вырезать ненужные куски.

25 Мар, 04:44 #202 #697542

>>695660
Ф5 :)

25 Мар, 05:54 #203 #697555

Можно ли в пакет для pypi запихать sqlite базу?

25 Мар, 08:36 #204 #697581

>>697453
>>697308
Есть страница с таким куском: https://gist.github.com/anonymous/b6ea812e562a46f8fadc
Мне нужно выцепить TARGET_LINK и TAGRET_TEXT.
Использую суп:
element=soup.find_all("div","title")
element[0].get_text()
И оно захватывает кучу мусора. Иначе вообще ничего не находит.
В супе есть нормальный xpath? Раньше юзал селекторы на lxml, но то тоже для меня была магия.

Ответы>>697656>>697664

25 Мар, 12:05 #205 #697656

>>697581
Ну всё, покурил пару часов маны, теперь вроде разобрался. Суп таки понятнее, чем lxml.

25 Мар, 12:17 #206 #697664

>>697581
в треде анон упоминал, что суп может использовать lxml
если хтмл такой как по ссылке, хпатх будет примерно таким
//div[@class="title"]//a[2] для выбора элемента ссылки,
//div[@class="title"]//a[2]/text() для теста
//div[@class="title"]//a[2]/@href для href

Ответы>>697670

25 Мар, 12:22 #207 #697670

>>697664
Я сделал вот так:

soup.findAll("a",{"data-ga-click":"text"})[0].get('href')
soup.findAll("a",{"data-ga-click":"text"})[0].text

По-моему, это более читабельно.

Ответы>>697672

25 Мар, 12:23 #208 #697672

>>697670
findAll можно вообще не писать.
soup() — синоним soup.findAll()

169 Кб, 1024x564

sage 25 Мар, 15:44 #209 #697906

Я смотрю дата майнинг щас в тренде. Тот же google deep dream написан на питоне. Что думаете по этому поводу питонисты?

Ответы>>697914

25 Мар, 15:45 #210 #697908

сажка приклеилась

25 Мар, 15:50 #211 #697914

>>697906
А что тут думать? Питон у умных дядек всегда в тренде был. Как у нас в шапке говорится - его используют даже в НАСА!

https://github.com/alexjc/neural-doodle - вот еще смотри какая годнота, порадуй своего енота шедевральным рисунком.

Ответы>>698018

25 Мар, 16:12 #212 #697941

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

Ответы>>697943

25 Мар, 16:16 #213 #697943

>>697941
> для обработки входящих звуков и сравнения с уже записанными звуками в реальном времени
Плохой вариан для голосового управления, попробуй гугловскую speech api, на пистоне уже достаточно велосипедов.

Ответы>>697949

25 Мар, 16:19 #214 #697949

>>697943
Мне нужно для игры, задержка большая будет.

Ответы>>697962

25 Мар, 16:32 #215 #697962

>>697949
Значит ищи offline аналог, их сейчас достаточно развелось, но есть велика вероятность соснуть с русским.
Для таких задач используются системы распознавания голоса, если и найдешь что-то для сравнения аудиозаписей то прокатит в лучшем случае для одного голоса.

Ответы>>697975

25 Мар, 16:39 #216 #697975

>>697962
Я так понял это всё будет хорошо работать на нейросетях. Вначале пользователь наговаривает (обучает нейросеть), а уже потом программа приходит в режим слушания и работает.

Ответы>>698108

25 Мар, 17:11 #217 #698018

>>697914
Помню пару лет назад пытался осилить. Использовал биндинг OpenCV для питона, детектил квадратики, кружки. Для нейросетей использовал ffnet. Может ещё какие либы/статьи по тематике посоветуешь?

Ответы>>698072

25 Мар, 18:12 #218 #698072

>>698018
OpenCV долго учится?

Ответы>>698086

25 Мар, 18:19 #219 #698086

>>698072
Я ж его не до конца выучил. По-сути, повторял готовые примеры, из блога этого индуса http://opencvpython.blogspot.ru/
Ну научился линии на капче вырезать, пека-фейс детектить, не более.

25 Мар, 18:49 #220 #698108

>>697975
На днях куалком выкатили процы с каким-то апи для оффлайн голосовой и пикчераспознавалки на основе моднявых нейронок. Что наверное значит, что на десктоп-процах это уже точно не должно тормозить.

25 Мар, 19:32 #221 #698160

Поцоны, а для веб-паука лучше использовать twisted, как я понял? Весь инструментарий который для этого нужен там уже есть, HTTP.Client, да и его асинхронная архитектура, как нельзя лучше подходит, часть кода запрашивает страницы, куда-то сохраняет, другая часть их обрабатывает. Никто-никого не блокирует. Раньше делал на threading + lock, но через пару часов он ввешался.

Ответы>>698171>>698189

25 Мар, 19:35 #222 #698171

>>698160
asyncio

25 Мар, 20:20 #223 #698189

>>698160
scrapy, там уже есть асинхронщина

Ответы>>698215>>698216

25 Мар, 20:43 #224 #698211

Сап. Только вкатываюсь в Python, и, собственно, написал первую небольшую программу.
Ищет файлы с одинаковым хешем, и если находит такие - проверяет, не одинаковые ли они, после чего выносит все повторы, чтобы оставить только уникальные.
Интересует, что можно было сделать лучше/правильнее.

http://pastebin.com/T9meFC4r

Ответы>>698213

25 Мар, 20:49 #225 #698213

>>698211
Сложна.

25 Мар, 20:49 #226 #698215

>>698189
может я не так выразился
> веб-паука
srapy, grab - это немного другой иструментарий. Это crawler - он только скачивает.

Ответы>>698515

25 Мар, 20:50 #227 #698216

>>698189
может я не так выразился
> веб-паука
Хочу полноценную поисковую машину - скачивание, хранение, обработка.
srapy, grab - это немного другой иструментарий. Это crawler - он только скачивает.

Ответы>>698515

25 Мар, 22:17 #228 #698254

>>693409

>5 лет в C++
>@
>Сортируешь графы графов
>@
>Моделируешь движение планет
>@
>Алгоритмизируешь эволюцию одноклеточных
>@
>Не написал ни одной прикладной программы
>@
>Полдня в баше
>@
>Автоматизировал все, что делаешь на компьютере
>@
>Баш за тебя двачует капчу, ищет порно и пишет С++ код
>@
>От нехуй делать сел изучать пхп
>@
>К вечеру написал свой Фэйсбук
>@
>К утру стал миллионером и улетел в Лондон

спизжено из соседнего

51 Кб, 468x466

25 Мар, 22:29 #229 #698268

Тут писал, что в лямбде с конектом кнопки (Gtk 3):
buttonMenuSlide.connect("clicked", lambda w: self.menuSlideChange(boxButton,buttonMenuSlide)) выползает такая ошибка:

"free variable 'self' referenced before assignment in enclosing scope"

Вот проект: http:// rghost.ru/7YYbcKldP

Ответы>>698269>>698402

25 Мар, 22:30 #230 #698269

>>698268
Что я делаю не так? Работало до создания __init__.py в папках. Добавлял через sys.path.append()

28 Кб, 348x348

26 Мар, 01:32 #231 #698402

>>698268
https://github.com
https://github.com/gcampax/gtk-app-generator
https://glade.gnome.org/
http://pep8.ru/doc/pep8/ за chamelCase получаешь отдельную порцию урины

Ответы>>698405>>698465>>698496

26 Мар, 01:37 #232 #698405

>>698402
только_снейк_кейс_только_питон_стайл

Ответы>>698468

37 Кб, 655x301

26 Мар, 03:06 #233 #698434

Я успешен.

Ответы>>698440>>698464

26 Мар, 03:23 #234 #698439

Что использовать для CI? Snap-ci, Jenkins или что то другое?

Ответы>>698441

26 Мар, 03:24 #235 #698440

>>698434
ещё не поздно сменить ник

Ответы>>698441

26 Мар, 03:24 #236 #698441

>>698439
Sanelotto, разумеется.
>>698440
Зачем?

26 Мар, 04:43 #237 #698452

Qt или Gtk? Кроссплатформенность без ебли важна.

Ответы>>698945>>700337

26 Мар, 04:47 #238 #698454

> кросплатформенный тулкит или gnu/linux тулкит
> Кроссплатформенность без ебли важна.
Ну хуй знает.

Ответы>>698455>>698456

26 Мар, 04:50 #239 #698455

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

Ответы>>698458

26 Мар, 04:52 #240 #698456

>>698454
А, не понял тебя сначала. Gtk тащемта кроссплатформенный и уже давно.

26 Мар, 05:03 #241 #698458

>>698455
Скорее "кроссплатформенный", в gtk3 уже положили хуй на поддержку отличных от gnome3 окружений, а под остальные платформы баги вообще годами висят.

26 Мар, 06:19 #242 #698464

>>698434
Чем только описание, чем отличается от scp?

Ответы>>698467>>698485

26 Мар, 06:22 #243 #698465

>>698402
А по делу ничего не скажешь, андерскорышь?

26 Мар, 06:46 #244 #698467

>>698464
*читал

26 Мар, 06:49 #245 #698468

>>698405
Почему "только"?, пусть во всяких жабах хоть в жопы ебутся, но тащить этот срам в пистончик тянет на отдельный котел.

26 Мар, 08:52 #246 #698485

>>698464
Ничем, тащемта. В любом проекте главное - правильно вбросить.

26 Мар, 09:45 #247 #698496

>>698402
>за chamelCase получаешь отдельную порцию урины
Синтаксис повершелла видел?

Ответы>>698498

26 Мар, 09:48 #248 #698498

>>698496
Причем тут калечный павершелл? Мы в питонотреде.

Ответы>>698499

26 Мар, 09:50 #249 #698499

>>698498
Там ещё веселее. И никто не жалуетсянаверное

Ответы>>698501

26 Мар, 09:54 #250 #698500

Братишки, я вам покушать принёс
https://habrahabr.ru/company/geekbrains/blog/280169/
листать до параграфа Пробелы в Python

Ответы>>698503

26 Мар, 09:54 #251 #698501

>>698499
Охуительные у тебя аргументы. По пепу снейк_кейс - значит снейк_кейс, классы КамелКейс - значит классы КамелКейс. Какие паверщели, ты о чем, какая у них связь с питонами? Ой, все.

Ответы>>698502>>698505

26 Мар, 09:55 #252 #698502

>>698501
>2016
>habr
Ясно.

Ответы>>698503>>698505

26 Мар, 09:55 #253 #698503

>>698502 -> >>698500

26 Мар, 09:56 #254 #698505

>>698501
pep - это рекомендации, а не требования. Что хочу, то и высираю, никто мне не может запретить хоть капсом всё писать.
>>698502
Как что-то плохое.

Ответы>>698507

26 Мар, 10:00 #255 #698507

>>698505
Придерживаясь общего стиля тебе самому же потом легче будет в чужом коде ориентироваться. А людям - в твоем. Хотя о чем я с хабрабыдлом разговариваю.

26 Мар, 10:31 #256 #698512

Абсолютно весь код, даже название .py файла подчеркивается красным, будто ошибка, а сама программа прекрасно запускается. Среда - PyCharm. Щито поделать?

26 Мар, 10:33 #257 #698515

>>698215
>>698216
в scrapy, в отличие от async и прочего, уже есть обход сайта по ссылкам, экстракция данных и т.д.

тебе остается полученные данные куда-то в базу пихать с каким-нибудь elastic search (прототип на коленке) или специализиированным поиском (в перспективе)

Ответы>>698692

26 Мар, 12:57 #258 #698629

>>696942
Сегодня импортпитон'овской рассылкой прилетело:
https://gist.github.com/dannguyen/a0b69c84ebc00c54c94d

Ответы>>698714>>698736

26 Мар, 13:40 #259 #698689

>>696975
плюсую тессеракт, сам хотел вспоминить его название, но забыл.

26 Мар, 13:41 #260 #698692

>>698515
Спасибо, за ответ конечно, но я скрапи уже пользовался и он мне не понравился.

26 Мар, 14:01 #261 #698714

>>698629
Спасибо за еще один вариант. Попробую.

У меня сейчас cuneiform + tesseract, но даже с ними из тысячи русскоязычных картинок 3-4 штуки распознаются ошибочно. Finereader на них тоже фейлится. Видимо русский язык НЕ НУЖОН.

Ответы>>698720

26 Мар, 14:06 #262 #698720

>>698714
А преобработку не пробовал делать? Увеличить размер, какие нибудь фильтры наложить? Может они у тебя пережатые нахуй?

26 Мар, 14:26 #263 #698736

>>698629
> Try Google Cloud Platform for free
> Credit Card number is invalid
> Authorization failed: Invalid credit card details
> We use your billing information to verify that you're a real person
За триал на тысячу юзов. Ох уж этот гуголь

Ответы>>698738

26 Мар, 14:28 #264 #698738

>>698736
appengine скатился, да.

26 Мар, 17:28 #265 #698919

Что на пистоне взять для быстрого бекенда, торнадо или что то на основе asyncio?

Ответы>>698928

26 Мар, 17:35 #266 #698928

>>698919
bottle?

Ответы>>698932

26 Мар, 17:37 #267 #698932

>>698928
Но он же быстрый только потому что там ничего нет.

Ответы>>698936

26 Мар, 17:39 #268 #698936

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

26 Мар, 17:47 #269 #698945

>>698452
Бамп

26 Мар, 19:01 #270 #699051

а в третей версии работает такая конструкция? https://docs.python.org/2/tutorial/errors.html#defining-clean-up-actions
лень скачивать.
try:
except:
else:
finnaly:

Ответы>>699056

26 Мар, 19:06 #271 #699056

>>699051
Попробуй в url 2 на 3 поменять.

Ответы>>699060

26 Мар, 19:08 #272 #699060

>>699056
норм

26 Мар, 20:30 #273 #699232

b =["1","2","3","4"]
test = {frozenset([a,a1]) for a in b for a1 in b}

Почему в test попадают не только комбинации frozenset({'2', '3'}), но и элементы поодиночке, т.е. frozenset({'2'})?

Ответы>>699239

26 Мар, 20:33 #274 #699238

Анончики - питонобоги, требуется помощь
Как сделать свой рекурсивный словарь?
Ну то есть такую штуку:
>>d = RecursiveDict()
>>d['key1'] = 'val1'
>>d['key2']['key2a'] = 'val2'
>>print d # печатает {'key1': 'val1', 'key2': {'key2a': 'val2'}}
Как я понял, надо что-то делать в __getitem__, но что - я хз

Ответы>>699278>>699280

26 Мар, 20:34 #275 #699239

>>699232
попадают не по-одиночке, а (2, 2) и (4, 4)

Ответы>>699240

26 Мар, 20:34 #276 #699240

>>699239
а т.к. это set, то копии удаляются

Ответы>>699250

26 Мар, 20:36 #277 #699242

Аноны, в книжке bite of python написано что нужно установить редакторы либо VIM, EMACS, Komodo edit. Самое забавное то, что не один редактор не хочет нормально работать. То лагает. лол. То ошибку выдает. Есть альтернативные редакторы? или среды разработки?

Ответы>>699243>>699245>>699247>>699259>>699260

26 Мар, 20:37 #278 #699243

>>699242
notepad++ для начала будет достаточно.

26 Мар, 20:37 #279 #699245

>>699242
Sumblime,
PyCharm,
Intellij IDEA с плагином для питхона

26 Мар, 20:37 #280 #699247

>>699242
Pycharm, он дефакто стандарт.

26 Мар, 20:38 #281 #699248

Спасибо, анончики :з

26 Мар, 20:39 #282 #699250

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

26 Мар, 20:49 #283 #699259

>>699242
Pycharm - ультрагоднота. Мощнейший инструмент разработки на питоне.

Sublime Text 2

26 Мар, 20:49 #284 #699260

>>699242
Atom или PyCharm.

26 Мар, 21:11 #285 #699278

>>699238
Пробовал переопределять getitem, но при двух квадратных скобках оно не работает
вылетает ошибка
ай нид хелп, браза

26 Мар, 21:11 #286 #699280

>>699238
http://pastebin.com/71SMk99K
это говнокод, за его работу я не ручаюсь. но думаю понятно в какую сторону копать

Ответы>>699286

26 Мар, 21:15 #287 #699286

>>699280
два чая тебе, мой друг
узнал про магию __missing__, спасибо

Ответы>>699310

67 Кб, 1028x705

26 Мар, 21:39 #288 #699310

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

Ключевые слова для поиска:
https://www.google.ru/search?q=python+переопределение+методов
https://www.google.ru/search?q=python+магические+методы

На сайте IBM например, есть хорошие статьи:
https://www.ibm.com/developerworks/ru/library/l-python-elegance-2/
https://www.ibm.com/developerworks/ru/library/l-python_part_6/

Ответы>>699458

Не работает 26 Мар, 23:06 #289 #699401

В общем, нашел единственное решение своей задачи в этом скрипте:
https://github.com/ahmetkotan/cpbitmapTopng/blob/master/bitmapTopng.py
Переделал его для упрощения в http://ideone.com/OLsIZM
В случае идеона - не могу загрузить и выгрузить пикчу (или могу?). В случае линукса - вот такая ошибка:
http://pastebin.com/G1PgwEMG
Как быть?

Ответы>>699424>>699432>>699434

26 Мар, 23:22 #290 #699424

>>699401
>with open(dosya,'r') as f:
Ты режим забыл

Ответы>>699433

26 Мар, 23:30 #291 #699432

>>699401
>dosya: Нет такого файла или каталога
import os
dosya = os.path.join(os.curdir, os.sep, 'LockBackground.cpbitmap')

Ответы>>699436

26 Мар, 23:30 #292 #699433

>>699424
Так он по умолчанию же
я вообще никогда не писал на питоне, но итак работает вроде. Только файл-то все равно на идеон не передать

26 Мар, 23:30 #293 #699434

>>699401
Как файл запускаешь?
Shebang прописал?

Ответы>>699436

26 Мар, 23:33 #294 #699436

>>699432
Попробовал, хуй. Изначально там было
dosya = 'LockBackground.cpbitmap'

>>699434
Я вообще не знаю, что это, лол. Прочтите внимательно. Скрипт не работает на идеоне, потому что я туда, на идеон, не могу загрузить файл этот. И скачать результат, соответственно, тоже. А у меня на линуксе, видимо, нет никакого PIL, вот он ее и не загружает.

Ответы>>699443>>699446

26 Мар, 23:40 #295 #699443

>>699436
>А у меня на линуксе, видимо, нет никакого PIL, вот он ее и не загружает.
пиздос, с этого и надо было начинать
попробуй ввести в питоновской консоле import PIL
если пишет "ImportError: No module named PIL"
то загрузи его
>sudo apt-get install python-PIL
это сторонний модуль же

Ответы>>699472

26 Мар, 23:40 #296 #699446

>>699436
На линуксе он не понимает что ты от него хочешь. Запускай таким образом python script.py

Ответы>>699472

26 Мар, 23:46 #297 #699454

https://github.com/anon276/testing
Сагалка тредов, бот с функциями парсинга двача и прочее
Дискасс

Ответы>>699461>>699475>>699499

36 Кб, 303x404

26 Мар, 23:48 #298 #699458

>>699310
> 2.7.11

26 Мар, 23:52 #299 #699461

>>699454
>async
>threading
чет я нихуя не понял как это совместимо

Ответы>>699471

26 Мар, 23:55 #300 #699471

>>699461
Если ты про CHGK - то это на основе бота Red: https://github.com/anon276/testing/blob/master/Discord_[bot]CHGK/release/README.md
Хуй знает как там устроено - в asyncio не шарю, если шаришь можешь объяснить на пальцах как оно работает?

26 Мар, 23:56 #301 #699472

>>699443
Проверил, есть.
>>699446
http://pastebin.com/bHumRqiT
Такие дела.

Ответы>>699481

26 Мар, 23:57 #302 #699475

>>699454
Внучаев, ты таки научился программировать!

Ответы>>699476

26 Мар, 23:57 #303 #699476

>>699475
Какой еще внучаев, ты ебанутый?

26 Мар, 23:58 #304 #699481

>>699472
>with open(dosya,'rb') as f:
попробуй

Ответы>>699489

27 Мар, 00:04 #305 #699489

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

Ответы>>699497>>699504>>699505

27 Мар, 00:12 #306 #699497

>>699489
Щас скачал, У меня на шинде работает.
Причем режим "RB" - обязателен, без него функция struct.unpack ругается.

Ответы>>699505

27 Мар, 00:13 #307 #699499

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

27 Мар, 00:16 #308 #699504

>>699489
>UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 3: invalid start byte
>f.read()
Автор явно для 2 писал, у вас же в третьем все строки как уникод считаются, вот интерпритатор и ругается. Поставь 2 и попробуй запустить.
>sudo apt-get install python2.7
>python 2.7 test.py LockBackground.cpbitmap

27 Мар, 00:16 #309 #699505

>>699489
>>699497
Да, у меня с 2.7 работает, с 3.4 - нет. Вот только итоговое изображение, увы, все сине-голубое. Можешь объяснить вкратце, как эти параметры анпака или фромстринга, или чего там еще, можно переделать, чтобы попробовать исправить?

Ответы>>699515

27 Мар, 00:30 #310 #699515

>>699505
тебе обязательно под 3 надо исправить?

Ответы>>699517

27 Мар, 00:32 #311 #699517

>>699515
Абсолютно необязательно. Я бы очень хотел исправить результат с синюшной поебени на его ожидаемый жёлтый.

Ответы>>699519

1755 Кб, 744x1392

27 Мар, 00:37 #312 #699519

>>699517
>синюшной поебени
>ожидаемый жёлтый
что? пикрил - конвертированное изображение? Где ты тут синий и желтый увидел?

Ответы>>699520

27 Мар, 00:39 #313 #699520

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

Ответы>>699531>>699549>>700771

27 Мар, 00:50 #314 #699531

>>699520
Значит она была закодирована не тем методом, каким ты пытваешься раскодировать. (не RGBA). Попробуй второе 'RGBA' заменить на любой другой метод из представленных здесь:
http://effbot.org/imagingbook/decoder.htm

Ответы>>699535>>699550

27 Мар, 00:52 #315 #699535

>>699531
Первый, второй из двух, или оба?

Ответы>>699546>>699550

27 Мар, 00:57 #316 #699546

>>699535
второй из двух.

27 Мар, 00:59 #317 #699549

>>699520
А ты не пробовал сделать так?
from PIL import Image
Image.open(inputfile).save(outfile, 'png')

Ответы>>699552

27 Мар, 00:59 #318 #699550

>>699535
А, извиняюсь, совсем отупел, лол.
>>699531
Тут вообще нет RGBA по твоей ссылке. Замена на любой оттуда - RGB, BGR - unknown raw mode

27 Мар, 01:02 #319 #699552

>>699549
Cannot identify image file

27 Мар, 01:10 #320 #699557

А если менять оба сразу - все файлы одинаковые

67 Кб, 481x448

27 Мар, 01:27 #321 #699562

Платиновый вопрос.
Вкатываюсь в Питон. Решил начать с кодакадеми + книжка (?).
Какую книгу взять, как связку с кодакадеми и куда двигаться дальше?
Алсо, там сейчас урезанный курс с возможностью апгрейда. Стоит ли покупать?

Ответы>>699568>>700440

27 Мар, 01:38 #322 #699568

>>699562
Какая нахуй связка, если это базовый курс?

Ответы>>699573

27 Мар, 01:43 #323 #699573

>>699568
А что тогда? Пробовал читать Think Python - обосрался на первых же упражнениях по рисованию цветков. Пробовал Доусона - хорошо пошло, но в треде сказали, что хуйня. Пробовал Лутца - скучно. Укус питона без упражнений после глав, а для меня это важно.

Ответы>>699586>>699595

27 Мар, 01:44 #324 #699575

Какие консольные редакторы есть помимо вима годные?

Ответы>>699588

27 Мар, 01:58 #325 #699586

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

27 Мар, 02:01 #326 #699588

>>699575
emacs

27 Мар, 02:22 #327 #699595

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

Ответы>>699600

27 Мар, 02:40 #328 #699600

>>699595
Послушал тебя и больше слушать не стал, пошел учить бейсик.

27 Мар, 18:26 #329 #700337

>>698452
Бамп вопросу

27 Мар, 19:52 #330 #700440

>>699562
на степике курс пройди лучше

Ответы>>700488>>700565

27 Мар, 19:53 #331 #700444

Поцоны почему запрос не правильный? Версия MySQL 5.5. http://pastebin.com/kqxDWXGe

Ответы>>700534

27 Мар, 20:29 #332 #700488

>>700440
Где?

27 Мар, 20:58 #333 #700534

>>700444
разобрался, оказывается нельзя было таблицу "index" называть.

27 Мар, 21:29 #334 #700565

>>700440
Пиздец. Какая-то хипстота заикающаяся ведёт.

Ответы>>700571

27 Мар, 21:34 #335 #700571

>>700565
> для того, чтобы получить ОСТАТОК от деления мы можем воспользоваться операцией ПРОЦЕНТ
Анон, который советовал, ты серьёзно? Это говно вообще кто-то смотрит?

102 Кб, 454x1651

27 Мар, 22:52 #336 #700626

Сидел в б. Увидел пик. Пришла идея написать бота для телеграма, который играет с тобой в вн.
Может, соберем команду как с Webm-сайтом?

Ответы>>700754

27 Мар, 23:23 #337 #700647

Поцоны, я тут пытаюсь заполнить большую базу данных порционально, и пришел к вот такому коду.
http://pastebin.com/vp6VHpsn
Можно ли сделась по-красивее, более pythonic?

Ответы>>700665

27 Мар, 23:46 #338 #700665

>>700647
Я бы сделал так - http://pastebin.com/2m7KejLa .

28 Мар, 04:14 #339 #700754

>>700626
Там дел на двадцать минут. Можно прямо на баше.

28 Мар, 08:19 #340 #700771

>>699520
А ты уверен, что у тебя та же версия bitmap'а? Может у тебя и альфа-канала нет, или битность другая. Распарси хедер и посмотри, что там написано.

А ещё скинь свою пикчу, чтобы и мы потестить могли.

28 Мар, 10:40 #341 #700816

чачани, в "гайд У Успех" содержит упоминание неких форумов, что это за форумы по змее? или стака хватает?

28 Мар, 10:42 #342 #700817

Qt или Gtk? Кроссплатформенность без ебли важна.

Ответы>>700821

28 Мар, 10:44 #343 #700821

>>700817
Все на кутях для кроссплатформенности.

Ответы>>700917

28 Мар, 11:10 #344 #700831

Как правильно поступать с зацикленным инкрементированием переменой? То есть, когда она увеличивается до определённого порога (длина списка, скажем), после чего сбрасывается до 0 и всё по новой.
Взять, к примеру, покер. Есть круглый стол с игроками. Есть дилер, следующий от него игрок должен поставить малый блайнд, второй — большой, а третий будет ходить. Но игроков может быть не четыре, дилером может быть последний игрок в списке, они могу постоянно повышать, поэтому нужно много раз по кругу проходить на одном и том же ходу.
С остатком от деления на длину списка получается вот такая херня — http://pastebin.com/3u4StifY , что не очень красиво. Или вариантов нет?

Ответы>>700838>>700851>>700882>>700895

28 Мар, 11:18 #345 #700838

>>700831
Как вариант, конечно, засабклассить список/тупл и делать всё это внутри __getitem__'а, чтобы код чуть короче был, но суть та же останется.

Ответы>>701002

28 Мар, 11:56 #346 #700851

>>700831
посмотри, может, itertools.cycle вкатит

Ответы>>700864

28 Мар, 12:28 #347 #700864

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

28 Мар, 12:56 #348 #700882

>>700831
Нормально ващет.

28 Мар, 13:32 #349 #700895

>>700831
Почому не используешь циклический список и итераторы?

Осторожно, батхерт!
Но нееееет лучше поебаться с инкрементированием индексов. И после такого, кто еще будет кукарекать что СТРУКТУРЫ ДАННЫХ НИНУЖНЫ АЛОГАРИТМЫ ТОЖЕ ВИДЬ ВСЕ УЖЕ РЕАЛИЗВАВНА ДЛЯ НАС ЛУЧШЕ УЧИТЬ ФРЕЙМВОРКИ

Ответы>>700897

28 Мар, 13:36 #350 #700897

>>700895
> циклический список
Чё эт?

Ответы>>700898>>700899

28 Мар, 13:38 #351 #700898

>>700897
Google, muthafucka, do you use it?

Ответы>>700900

28 Мар, 13:39 #352 #700899

>>700897
Как список, только после жопы идет голова.

Ответы>>700900

28 Мар, 13:40 #353 #700900

>>700898
>>700899
И где он в пифоне?

Ответы>>700903

28 Мар, 13:42 #354 #700903

>>700900
Хуй знает. Я питон незнаю, просто мимопроходил.

Ответы>>700909

28 Мар, 13:49 #355 #700909

>>700903>>700903
Заебись, пришёл за советом, как лучше, а меня обосрали, что я не делаю это самое "лучше". Да ещё и сам не знает, как же это в питоне сделать. Уёбывал-ка ты в свой тред плюсов.

Ответы>>700911

28 Мар, 13:52 #356 #700911

>>700909
> циклический список
Я знаю как его сделать, вопрос в том, что я незнаю есть ли он в стандартной библиотеке.

>Уёбывал-ка ты в свой тред плюсов.
Nyet. Мне тут хорошо.

А теперь пиздуй читать структуры данных, быдло!

Ответы>>700915

28 Мар, 13:58 #357 #700915

>>700911
Ну вот допустим, прочитал я это - http://prog-cpp.ru/data-ocs/
Это что же, мне вместо примитивного
>player[i % len(players)]
ебошить сначала собственый класс циклического списка, заполнять его, прописывая в каждый элемент указатель на следующий, так ещё потом и
>player = players[dealer]
>while True:
>....player.make_turn()
>....player = players.next() # тут типа следующий элемент выдаётся
делать?

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

Ответы>>700922

28 Мар, 13:58 #358 #700916

>циклический список
collections.deque?

Ответы>>700923

28 Мар, 13:58 #359 #700917

>>700821
Можно поподробнее, чем они хуже/лучше друг друга с этой точки зрения?

Ответы>>700919

28 Мар, 13:59 #360 #700919

>>700917
Как ты заебал, платиновая зелень.

Ответы>>700927

28 Мар, 14:03 #361 #700922

>>700915
Ниче не даст. Лишние расходы на абстракцию.
Рубрика вредные советы

Вам шашечки или ехать?
Есть нормальный, поддерживаемый, и самое главное логичный метод - кольцевой список.
Есть метод с хаком, неочевидный (через месяц попробуй понять что ты написал), ВОЗМОЖНО быстрый, преждевременно оптимизированный метод - ебля с индексами.
Выбирай сам. Я бы список выбрал. Обернул пердолинг с указателями в класс циклического списка, и юзаешь через общепринятый интерфейс.

Ответы>>700928

28 Мар, 14:04 #362 #700923

>>700916
> double ended queue
Нет.

Ответы>>700924

28 Мар, 14:05 #363 #700924

>>700923
Там rotate есть и прочие ништяки. Посмотри внимательней.

Ответы>>700930

28 Мар, 14:07 #364 #700927

>>700919
Ну так запилите в шапку/вики. Как вообще можно что-то понять, если либо пишут без объяснений, либо "я попробовал то и это, мне больше понравилось что-то ещё, а ты используй что нравится тебе"

Ответы>>700931

28 Мар, 14:08 #365 #700928

>>700922
Но мне же тогда придётся ебаться с тем, как определить, когда я его целиком обошёл, ведь начальная точка всегда разная, а значит перед началом прохода придётся сохранять эту точку для сравнения. Ну а точка эта будет... индексом.
Ради упражнения может и сделаю этот список, конечно, но что-то у меня сомнения, что мне под него придётся переделывать много кода вокруг.

Ответы>>700932

28 Мар, 14:09 #366 #700930

>>700924
Возможно, но двусторонняя очередь это не кольцевой список. Кольцевой список просто идет по кругу. Голова - ... - жопа - голова - ... - жопа
А тут ты будешь ебаться с rotate.

28 Мар, 14:09 #367 #700931

>>700927
Другого ответа и быть не может. Это тебе не Tkinter сравнивать с чем угодно, где ответ очевиден.

Ответы>>701038

28 Мар, 14:10 #368 #700932

>>700928
Добавляешь служебный элемент списка тогда. У него нет логики, он по сути невидим. Просто как маркер обхода.

28 Мар, 14:11 #369 #700934

http://stackoverflow.com/questions/23416381/circular-list-iterator-in-python

Ответы>>700935

28 Мар, 14:14 #370 #700935

>>700934
Чая этому.

Ответы>>701007

70 Кб, 480x640

28 Мар, 15:36 #371 #700997

Есть тут те кто работает с питоном, какими навыками владеете?

Ответы>>701146

28 Мар, 15:47 #372 #701002

>>700838
наверное, лучше сделать так, по крайней мере ОПЕРАТОР ПРОЦЕНТ не надо каждый раз указывать

28 Мар, 15:51 #373 #701007

>>700935
а меня опсыкали за итертулс ((

Ответы>>701012

28 Мар, 15:56 #374 #701012

>>701007
>опсыкали
Это был чай уровня /b/

28 Мар, 16:11 #375 #701024

>>693065 (OP)
Помогите разобраться с регулярным выражением.

Есть текст типа:

1. Основной заголовок
1 – Первый пункт
2 – Второй пункт
3 – Третий пункт

он считывается по строкам. Нужно брать строки с пунктами. Выражение для этого:
\d{1,2}\s+(–){1}.

На http://pythex.org оно работает нормально, выделяет все три пункта, но в программе

import re
text1=["1. Heading", "1 – Punkt1", "2 – Punkt2", "3 – Punkt3"]
print type(text1)
text="""
1. Heading
1 – Punkt1
2 – Punkt2
3 – Punkt3
"""
tochka=re.compile ("\d{1,2}\..$")
defis=re.compile("\d{1,2}\s(–){1}.$")
for p in text1:
result=defis.findall(p)
if (result):
for p in result: print p
result=tochka.findall(p)
if (result):
for p in result: print p

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

1. Heading
–
–
–

Что значат на Pythex в правок окне Match captures эти дефисы
:
Match 1
1.-
Match 2
1.-
Match 3
1.-

Ссылка на Pythex

http://pythex.org/?regex=\d{1,2}\s(-){1}.&test_string=1.%20Heading%0A2.%20Heading%0A1%20-%20Punkt1%0A2%20-%20Punkt2%0A3%20-%20Punkt3&ignorecase=0&multiline=0&dotall=0&verbose=1

Ответы>>701030

28 Мар, 16:20 #376 #701030

>>701024
сорри, вот ссылка на pastebin с нормальным текстом
http://pastebin.ru/GtzAByrr

Ответы>>701121

28 Мар, 16:28 #377 #701038

>>700931
>Tkinter
Он то как раз везде зашибись работает.

Ответы>>701040

28 Мар, 16:29 #378 #701040

>>701038
И выглядит как привет из 90х.

Ответы>>701041

28 Мар, 16:30 #379 #701041

>>701040
Ну и похуй вообще. Да и то это только по дефолту так, темки уже давным давно прикручивать можно.

28 Мар, 16:56 #380 #701066

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

for action in game.act():
sleep(1)
socket.broadcast(action)

Это код контроллера, game.act() - метод модели, который йилдит игровую ситуацию (за один ход игрока она может обновиться несколько раз)
Есть подозрение что я хуй и что-то делаю не так, расскажите мне за это.
Возможно, задержку стоит вставлять на клиенте а не на сервере? Но тогда возникает проблема с тем, что на каждый ход игрока выделено ограниченное время, и это время будет считаться некорректно если клиент будет хакнут.

Ответы>>701181>>701527

28 Мар, 17:38 #381 #701094

Анон, сос.
Кто-нибудь тут писал собственный парсер json файлов?
В json проблем нет, а с json в пайтон-объект - сложновато

Ответы>>701096

28 Мар, 17:44 #382 #701096

>>701094
>парсер json файлов
eval()

Ответы>>701105

28 Мар, 17:54 #383 #701105

>>701096
он же крашится

28 Мар, 17:57 #384 #701108

Аноны, вот вы все в тредике активные такие. А кто из вас работает с питоном по работе и сколько получаете? И сколько у самих опыта использования? Мне интересно, плюс смотрю шансы вкатывания на работу джуном в ДС из мухосрани.

Ответы>>701115>>701146>>701152>>701278>>701328>>701524>>701672

28 Мар, 18:00 #385 #701115

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

28 Мар, 18:03 #386 #701118

Если мне нужно подключить какой-нибудь модуль к джанге, не являющийся джанговым, например пандас - куда его прописывать setting.py? В INSTALLED_APPS?

Ответы>>701518

28 Мар, 18:04 #387 #701121

>>701030
>после обработки каждой строки с дефисом выдаётся только дефис
Убери круглые скобки вокруг дефиса.

Ответы>>701151

28 Мар, 18:20 #388 #701143

Анон, питон знаю на базовом уровне (переменные, функции, циклы, вот это всё). Хочу написать бота для IRC. Какого бота посоветуешь взять? И как вообще происходит процесс? Я запускаю скрипт, в котором указываю сервер\канал\никнейм и запускаю его и бот коннектится по заданным параметрам?

28 Мар, 18:21 #389 #701146

>>701108
Мне не ответили, походу просто так в нём все ковыряются.>>700997

28 Мар, 18:27 #390 #701151

>>701121
Спасибо, получилось. Т.е. он его считал как отдельную группу и выдавал только эти группы в результате ?

Ответы>>701157

28 Мар, 18:27 #391 #701152

>>701108
Ты мне все равно не поверишь. Да и зачем спрашивать тут? Просто посмотри вакансии - поймешь среднюю температуру по больнице.

Ответы>>701261

28 Мар, 18:31 #392 #701157

>>701151
Ты всё правильно понял.

28 Мар, 18:43 #393 #701181

>>701066
Бамп, поможите, аноны!

28 Мар, 19:37 #394 #701261

>>701152
>какой смысл врать на анонимной борде

Ответы>>701267

28 Мар, 19:39 #395 #701267

>>701261
Какой смысл не врать?

24 Кб, 367x529

28 Мар, 19:44 #396 #701278

>>701108
Полгода на удаленке за еду работаю 150$, такие дела.

378 Кб, 1024x576

28 Мар, 19:58 #397 #701302

приветствую всех питонистов и питонисток в этом треде! недавно заинтересовался парсингом и первый серьезный (для меня) проект связан с Викисловарем. суть такова: у меня есть список в котором ~140к слов и я хочу найти на каждое соответствующую страницу. а это значит что мне потребуется 140к запросов. наверняка эти запросы отслеживаются сайтом и их количество будет выделятся на фоне.

Вопросы:

1. считается ли подобное сайтом(любым) как что-то плохое?
2. и если да то могут ли мне запретить доступ к нему, как какому нибудь боту?

ps. я новый в этом деле. не смейтесь надо мной слишком сильно

Ответы>>701330>>701360>>701371

28 Мар, 20:20 #398 #701328

>>701108
я, 170к

28 Мар, 20:23 #399 #701330

>>701302
Лашпед, выкачай оффлайн-вики и ебись.

28 Мар, 20:45 #400 #701360

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

28 Мар, 20:53 #401 #701371

>>701302
Возможно, это поможет.
https://www.mediawiki.org/wiki/API:Etiquette#Request_limit

28 Мар, 21:12 #402 #701388

Двачик-скриптачик, ответь, где-же мне практиковать свой великий скилл в написании программ? Знаю питон лучше писечки своей тяночки, а никаких идей по практике нет...

Ответы>>701389>>701403>>701458

28 Мар, 21:13 #403 #701389

>>701388
http://newcoder.io/

28 Мар, 21:22 #404 #701403

>>701388
А какая писечка у твоей тяночки?

28 Мар, 22:01 #405 #701452

Какое же говно ваша джанга. Пиздец просто. Магия в каждой дырке, никаких объяснений.

Ответы>>701457

28 Мар, 22:06 #406 #701457

>>701452
Оно становится оче логично после некоторой степени погружения. Другой вопрос что само "погружение" хуй проработано нормально - это да. В любом случае магии как таковой (ror'овской, например) в питоне нету.

Ответы>>701507

305 Кб, 1261x1000

206 Кб, 1920x1080

28 Мар, 22:11 #407 #701458

>>701388
Для начала, например.

98 Кб, 462x634

28 Мар, 22:13 #408 #701460

Что ещё надо учить в придачу к питону? Не заинтересован сайтостроением, больше интересна "сетевая" часть, серверы и прочее, правда сомневаюсь что по такому можно будет найти работу на фрилансе.

Ответы>>701466>>702932

28 Мар, 22:23 #409 #701466

>>701460
На фрилансе вообще тяжело работу найти по тому, что тебе интересно на самом деле. Зарабаывай бабки, прокачивая скил на том, что не интересно и пили то, что интересно в свободное время, прокачивая скилл. Так большинство делает.

28 Мар, 22:28 #410 #701472

Разработчики джанго - ёбанные конченные мудаки. Это вообще не люди - таких обоссать, убить и выебать мало. Все, кто делают фреймворки на магии - джанго, рельсы и прочее говно - хуже Гитлера. Таких нужно истреблять нахуй. Засунут магию в каждую дырку и ебись потом. Документация - говно. Простыни кода без объяснений. Неюзабельное говно. А те, кто делал РЕСТ фреймворк - вообще уебаны каких поискать. Это же надо, такое сделать. Что хуже, находятся слабоумные которым это нравится и которые это используют. Ёбанные макаки. Заставил бы этих недоёбков всё на ассемблере писать. Суки, превратили профессию в зазубривание километров манов без малейшей мысли. Суки, ну как можно родить что то настолько убогое, как джанго или рест фреймворк? Этих блядей нужно в дурку сдать и заколоть аминазином до состояния овощей, чтобы они срали под себя, а не тащили своё говно в веб разработку.

Ответы>>701474>>701481>>701502

28 Мар, 22:30 #411 #701474

>>701472
>джанго, рельсы и прочее говно
На чем вы предлагаете?

Ответы>>701480

28 Мар, 22:34 #412 #701480

>>701474
Например Flask. Что угодно, где минимум магии и всё под контролем.

Ответы>>701483

28 Мар, 22:36 #413 #701481

>>701472
У меня такой же баттхерт от Spring.
мимо-джавист

28 Мар, 22:39 #414 #701483

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

28 Мар, 22:39 #415 #701484

Вот поясните за REST Framework. Пишу следующий код. Сериализатор:

class UserSerializer(serializers.HyperlinkedModelSerializer):
posts = serializers.HyperlinkedIdentityField('posts', lookup_field='username')
class Meta:
model = Symbol
fields = ('username', 'email')

Представление:

class UserView(viewsets.ModelViewSet):
queryset = Symbol.objects.all()
model = Symbol
serializer_class = UserSerializer
permission_classes = [permissions.AllowAny]

Потом добавляю в роутер реста:

router = routers.DefaultRouter()
router.register(r'users', UserView)

И роутер реста в обычный роутер:

url(r'^api/', include('rest_framework.urls', namespace='rest_framework'))

И что получается? Нихуя. При заходе на /api/users/ 404, зато предлагает два роутера, которых я не создавал.
>^api/ ^login/$ [name='login']
>^api/ ^logout/$ [name='logout']
Откуда это говно вылезло?

28 Мар, 22:46 #416 #701493

И вишенка на торте - Москва. Фласк - 24 вакансии, Джанговно - 123. Действительно, чтобы нормально жить нужно быть дегенератом.

28 Мар, 22:48 #417 #701497

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

28 Мар, 22:51 #418 #701502

>>701472
Где там магия, бля?

28 Мар, 22:57 #419 #701507

>>701457
Два чаю. Вкатываются какие-то школьники, осилившие 4 урока на codecademy и 4 главы Лутца. Думаете этого достаточно? Да хуй вам в жопы, неосиляторы. Пока не будете знать всю поднаготную дескрипторов, объектной модели и метаклассов, вам в любой библиотеке сложнее request всюду будет чудиться магия. Сука, горит с вас.

Ответы>>701508

28 Мар, 22:58 #420 #701508

>>701507
fix: requests

28 Мар, 23:03 #421 #701518

>>701118
В installed apps добавляются джанговские приложения. Для pandas это не нужно. Просто импортируй модуль и используй.

28 Мар, 23:06 #422 #701522

Накидал на коленке аналог REST Framework и оно блядь работает как надо!

Ответы>>701525

28 Мар, 23:07 #423 #701524

>>701108
Устроился без опыта, чуть больше полугода работал за среднюю_по_городу_минимально_достойную_зарплату. Недавно прошел аттестацию, подняли зарплату на 75%. Если через полгода не буду получать 250% от той самой минимально достойной, буду искать новое место и найду

28 Мар, 23:08 #424 #701525

>>701522
прогроммист что ты делаешь в пр ты ведь не можеь тут дышать

28 Мар, 23:10 #425 #701527

>>701066
На хабре была статья, там чувак пилил карточную игру на торнадо. Курил ее?

29 Мар, 00:55 #426 #701644

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

Ответы>>702806

29 Мар, 01:51 #427 #701672

>>701108
80k ДС2, 5 лет знаком с пифоном.

65 Кб, 554x768

29 Мар, 07:53 #428 #701703

Sup.
Есть один Линукс. Нужно написать скрипт, который будет писать определенную команду в командную строку и выполнять её (аки алиас).

Например, есть mpv плеер. Его нужно запускать с определенными параметрами по алиасу:

movie /path/to/file

А на самом деле выполняется mpv -ab /path/to/file -param >> /param &

Это можно сделать на питоне? Куда копать в таком случае?

Ответы>>701705

29 Мар, 07:57 #429 #701705

>>701703
А питон то тут при чём? Пиши на баше.

Ответы>>701706

29 Мар, 07:58 #430 #701706

>>701705
Питон же тоже, по-моему, может посылать в командную строку значения. Интересно реализовать на питоне.

Ответы>>701710>>701711

29 Мар, 08:24 #431 #701710

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

29 Мар, 08:25 #432 #701711

>>701706
Но вообще,
>import os
>os.system("echo AJAJA")

Ответы>>701715

29 Мар, 08:50 #433 #701715

>>701711
А как всунуть путь к файлу, который я буду вводить?

Ответы>>701718

29 Мар, 08:56 #434 #701718

>>701715
Аргументы скрипта хранятся в массиве sys.argv
Всунуть в строку через % или .format

29 Мар, 15:37 #435 #702020

Подскажи те плиз в чём ошибках приоритетов.
(a and b) (or) (not a) (and) (not b)

Ответы>>702060

29 Мар, 15:46 #436 #702034

Питоняшки, как сравнить определенную переменную с каждым элементом массива?

if ( dvach == (Ваш код здесь) ):

Ответы>>702045

29 Мар, 15:48 #437 #702036

https://habrahabr.ru/company/hexlet/blog/248397/

Ответы>>702285

29 Мар, 15:54 #438 #702045

>>702034
if any(i == dvach for i in list):

Ответы>>702049

29 Мар, 15:57 #439 #702049

>>702045
Спасибо.

29 Мар, 16:12 #440 #702060

>>702020
Эта хуйня выдаст ошибку синтаксиса, операторы нельзя заключать в скобки. По приоритету: not наивысший, потом and, потом or, слева направо

Ответы>>702069

29 Мар, 16:25 #441 #702069

>>702060
В задании написано:
#Расставьте скобки в выражении
в соответствии с порядком вычисления выражения (приоритетом операций). Всего потребуется 5 пар скобок (внешние скобки входят в их число).

Ответы>>702104

29 Мар, 17:13 #442 #702104

>>702069
Фуу решил
((a and b) or ((not a) and (not b)))

29 Мар, 19:16 #443 #702285

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

Ответы>>702321>>702725

29 Мар, 19:32 #444 #702321

>>702285
Можно первым языком взять Pure C, который до задач уровня laba1.c прокачивается за неделю-другую, а потом дрочить интерпретируемые языки, тоже вариант для даунов? Или норм посаны презирают все языки где не надо писать Hui hui = new Hui?

Ответы>>702648>>702725

29 Мар, 20:09 #445 #702379

Как в одну строку заполнить массив/кортеж/итд одним и тем же числом?
pycharm ругает это:
values = tuple(0 for i in range(n))

Ответы>>702382>>702396

29 Мар, 20:13 #446 #702382

>>702379
точнее код то верный,
но пеп8 это не нравится

Ответы>>702385

29 Мар, 20:16 #447 #702385

>>702382
Ну попробуй values = (0 for i in range(n))

Ответы>>702389>>702391

29 Мар, 20:18 #448 #702389

>>702385
мне ж не генератор надо, тычо

Ответы>>702392

29 Мар, 20:19 #449 #702391

>>702385
мне подчёркивает "i"
грит, что она не используется, и поэтому она не нужна

Ответы>>702393

29 Мар, 20:20 #450 #702392

>>702389
>тычо
Ой, прости, с человеком спутал.

29 Мар, 20:20 #451 #702393

>>702391
если переменная цикла не используется, её принято именовать "_"

Ответы>>702395>>702398>>702400

29 Мар, 20:22 #452 #702395

>>702393
не помогло

29 Мар, 20:22 #453 #702396

>>702379
values = (0,) * 100500

29 Мар, 20:23 #454 #702398

>>702393
ошибся, помогло

29 Мар, 20:24 #455 #702400

>>702393
именовал "_i", а не "_"
даже и не знал, что так можно

30 Мар, 00:03 #456 #702648

>>702321
> Можно первым языком взять Pure C
Да хоть нелюбимый школьниками паскаль, зато потом будет не "Hui hui = new Hui" а статическая типизация.

Ответы>>702681

30 Мар, 00:35 #457 #702681

>>702648
> Hui hui = new Hui
> а статическая типизация
Это и есть статическая типизация.

Ответы>>702700

30 Мар, 00:52 #458 #702700

>>702681
Я о том что выражения с хуями приобретет значение соответствующего словосочетания.

30 Мар, 01:33 #459 #702725

>>702285
Схема тебе чем не угодила, а?
>>702321
Питон не годится для первого языка из-за не совсем логичных и очевидных скоупинга и приведения типов (типа 1 == True, all([1, 0, 2]), etc), а не из-за интерпретируемости или динамической типизации.

Ответы>>702726

30 Мар, 01:34 #460 #702726

>>702725
>all([1, 0, 2]) == False
fix

Ответы>>702804

12 Кб, 472x148

30 Мар, 07:04 #461 #702804

>>702726
Какого приведения типов?

Ответы>>702818

30 Мар, 07:12 #462 #702806

>>701644
https://docs.djangoproject.com/en/1.9/ref/models/querysets/#select-related

30 Мар, 08:01 #463 #702818

>>702804
Я про то, что 0 == False. И bool(x) возвращает False для 0, None, [], () и даже {} и "". Нахуя?

Ответы>>702822>>702824>>702826

7 Кб, 268x158

30 Мар, 08:24 #464 #702822

>>702818
Так повелось.
> bool(x) возвращает False для 0, None, [], () и даже {} и "". Нахуя?
Очень удобно писать что-то типа
x=[]
if not x: print("not empty")
Можешь делать явно сравнение типа
if 0 == "":
В отличие от языков со слабой типизаций будет работать как надо

Ответы>>702873

30 Мар, 08:27 #465 #702824

>>702818
А где 0 не False-то, кроме руби?
А остальное — вот так задумано языком. Если контейнер/итерабл пустой, то зачем он нужен? Считай и нет его, пусть false будет.
>men = [student for student in students if student.has_brain]
>if men:
>....print("There are several men in the class, namely: ", men)

Ответы>>702873

30 Мар, 08:32 #466 #702826

>>702818
Реально если бы хотел доебаться то вот http://www.b-list.org/weblog/2015/nov/15/real-python-wat/ более актуально, но актуально только для питон2

Ответы>>702827>>702873

30 Мар, 08:33 #467 #702827

>>702826
Остальное в большинстве своем высосано из пальца, как, например https://github.com/cosmologicon/pywat - если знаешь язык - почти всё это имеет смысл. В отличие от многих приколов в javascript

30 Мар, 11:13 #468 #702873

>>702822
Извини, но твой пикрелейтед вообще не релейтед. bool в C99 определен как
# define _Bool signed char
#define false 0
#define true 1
Для C, как для кроссплатформенного ассемблера, это нормально, в питоне, где типы вообще не связаны с железом, такое поведение -- атавизм.
>>702824
>А где 0 не False-то, кроме руби?
Посмотри, как в схеме, например. Есть #t и #f, причем, в условиях, любое значение, кроме #f считается за #t, это логично и интуитивно.
>Если контейнер/итерабл пустой, то зачем он нужен? Считай и нет его, пусть false будет.
Пустой контейнер != отсутствие контейнера.
https://www.python.org/dev/peps/pep-0020/
>Explicit is better than implicit.
>There should be one-- and preferably only one --obvious way to do it.
У тебя может быть функция, которая, к примеру, парсит строку со списком значений, при этом она может вернуть и пустой список, либо None, если строка синтаксически невалидна. Чтобы она работала корректно, придется явно сравнивать с None, те же all/any использовать не получится, в результате, нихуя не удобно. Да, в питоне для обработки фейлов принято использовать эксепшены, скажешь ты, но оборачивать каждую функцию в try/except некрасиво и бьет по производительности (если "фейл" ожидаем и не является исключительным случаем, для которых, собственно, эксепшены и нужны), механизма рестартов тоже не завезли, first class continuations? Не, не слышали.
>>702826
>если бы хотел доебаться
Да какое доебаться, я как бы понимаю, что такое поведение оправдано для задач, для которых питон предназначен (утилитки там небольшие, скриптики, прототипирование), как первый язык он не подходит, слишком много подводных камней.

Ответы>>702875>>702876>>702877>>702908

30 Мар, 11:19 #469 #702875

>>702873
> в питоне, где типы вообще не связаны с железом
True и False появились точно так же в питоне как константы, они были int изначально, в те времена, когда в питоне и классов то не было. Кстати, иногда, эта особенность бывает полезна например можно делать sum(some_function_which_returns_true_or_false(z) for z in something)

Ответы>>702887

30 Мар, 11:21 #470 #702876

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

Ответы>>702887

30 Мар, 11:24 #471 #702877

>>702873
> слишком много подводных камней.
То о чем ты говоришь не подводные камни вообще. Вполне разумное поведение. В других языках камней не меньше.
Схема это прикольно, но это экзотика, даже MIT(единственные кто её использовал) перешли с неё на питон - deal with it.
> утилитки там небольшие, скриптики
На питоне пишится дохуя больших проектов.

Ответы>>702887

30 Мар, 11:40 #472 #702887

>>702876
Дальше прочитай, что написано.
>>702875
>sum(some_function_which_returns_true_or_false(z) for z in something)
sum(1 if somefunc(z) else 0 for z in something)
Чуть-чуть длиннее, зато понятнее.
>>702875
>они были int изначально, в те времена, когда в питоне и классов то не было
https://docs.python.org/2.3/whatsnew/section-bool.html
Лол, и правда ведь. Не знал.
>>702877
>Схема это прикольно, но это экзотика, даже MIT(единственные кто её использовал) перешли с неё на питон - deal with it.
Guile много где в GNUтом софте используется, как скриптовый язык, гимп, guix, например.
>На питоне пишится дохуя больших проектов.
И да, я не про популярность и распространенность, а про конкретные недоработки в дизайне языка, то, что большинство dealt with them и считает, что так надо, не превращает их в достоинства.

Ответы>>702890

30 Мар, 11:49 #473 #702890

>>702887
> про конкретные недоработки в дизайне языка
Я их не вижу. Некоторые вещи исторически сложились, всё-таки языку 25 лет.

Ответы>>702902

30 Мар, 11:57 #474 #702895

Посоны, подкиньте мотивирующих историй о том как вкатились в петон.

Ответы>>702898

30 Мар, 12:00 #475 #702898

>>702895
Завтра ищешь в интернете книжку Dive into python...

30 Мар, 12:15 #476 #702902

>>702890
Люди, которые в совке жили, тоже недостатков не видели. Некоторые и до сих пор ностальгируют.
>25 лет
А что, 25 лет назад люди не могли в логику и не отличали котлеты от мух? Схема почти в два раза старше, тем не менее, сделана правильно, насколько это возможно для динамики.

30 Мар, 12:22 #477 #702908

>>702873
>Пустой контейнер != отсутствие контейнера.
Ну это я так своими словами выразился, т.е. с точки зрения использования. Если я хочу съесть яблоко, мне не так важно, просто у меня нет яблок. или стоит пустая коробка от яблок — яблоко я съесть не могу.

>при этом она может вернуть и пустой список, либо None, если строка синтаксически невалидна. Чтобы она работала корректно, придется явно сравнивать с None, те же all/any использовать не получится, в результате, нихуя не удобно.
Я правильно понимаю, что ты хочешь, чтобы в
l = parse_string(txt)
if l:
for e in l:
do_something_with_each_element()
И условие выполнить даже при отсутствии элементов в списке? Но ведь do_something_with_each_element() всё равно ни разу не вызовется, так и зачем было в эту ветку залезать? А вот all на пустых списках всегда выдают True, что, по-моему, может привести к нежелательным результатам. А any, наоборот, False. Что ещё хуже, ведь если all выдал True, то any никак не должен выдавать противоположное значение, ведь это считай подмножество.

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

Возможно, конечно, что это именно поведение питона и привело к такому стилю написания кода/мышления, но мне это никогда не казалось чем-то неправильным, непривычным или неинтуитивным. Разве что путаться начинаю, когда на JS пишу.

Ответы>>702964

30 Мар, 13:11 #478 #702932

>>701460
Чем бы ты ни занимался, в любом случае потребуется GIT, юнит-тесты, базы данных. Не лишним будет понимание концепций ООП и ФП и умение их применять. Вдобавок можно почитать что-то о программировании в общем (Макконел, Брукс, Спольски).

30 Мар, 13:49 #479 #702964

>>702908
>Если я хочу съесть яблоко, мне не так важно, просто у меня нет яблок. или стоит пустая коробка от яблок — яблоко я съесть не могу.
Если я хочу съесть яблоко, я загляну в коробку, если их нет -- пойду в магазин, если нет самой коробки, это уже другая ситуация, теперь мне в магазин идти не с чем.
>Я правильно понимаю
Нет.
[1, 2, 3]
[]
1 2 3
Первые две строки -- валидны, третья -- нет. Можно возвращать None для невалидной строки, тогда в условных выражениях вторая и третья будут приводиться к False, нужно делать явное сравнение (if x is None: ...). Можно еще возвращать два значения кортежом, список и True/False, но, спрашивается, нахуя тогда нужна динамическая типизация?
>А вот all на пустых списках всегда выдают True, что, по-моему, может привести к нежелательным результатам. А any, наоборот, False. Что ещё хуже, ведь если all выдал True, то any никак не должен выдавать противоположное значение, ведь это считай подмножество.
https://en.wikipedia.org/wiki/Empty_set
>For every element of \emptyset the property holds (vacuous truth);
>There is no element of \emptyset for which the property holds.

Ответы>>702970>>702984

30 Мар, 13:57 #480 #702970

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

Про any/all уже и так почитал.

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

Ответы>>702984

30 Мар, 14:01 #481 #702974

Посоветуйте, как писать python код. Допускаю много runtime ошибок.

Какие тулзы есть для проверки кода?

Ответы>>702976

30 Мар, 14:04 #482 #702976

>>702974
Pylint, видимо.

Ответы>>702978

30 Мар, 14:05 #483 #702978

>>702976
Буду смотреть. Сами то вы какими тулзами для этого пользуетесь?

Ответы>>703002

30 Мар, 14:08 #484 #702984

>>702964
А, кажется, понял.
func('[1,2,3]') # -> [1,2,3]
func('[]') # -> []
func('1 2 3') # -> None

А в чём проблема со сравнением с None или if type == list?

Это как ж и с поиском индекса элемента. Нулевой индекс валиден, хотя почти везде Схема это явно не то, что большинство знает/учило/использует 0 это False, поэтому мучаются с проверками > -1.

Короче, ситуаций, где [] == False удобнее, по-моему, больше, чем где нет. Считаешь ли ты иначе?

>>702970-кун

30 Мар, 14:44 #485 #703002

>>702978
linter-flake8

30 Мар, 15:49 #486 #703031

>>693065 (OP)
Поясните за PyQt. Это же тупо лепилка интерфеса? Т.е. в нем я набрасываю все кнопочки, потом открываю свой .py в блокнотике и там все прописываю?
И поясните за питон в целом, в частности за 1 вещь: можно ли сделать "экзешник" или питон работает только как сервер? Ну вы понели ну или не понели.

Ответы>>703039

30 Мар, 16:03 #487 #703039

>>703031
> Это же тупо лепилка интерфеса?
Нет, это пистоновская обвязка к графическому тулкиту не знаю как сейчас, но раньше была ещё й урезаная по фунционалу, лепилка интерфейса есть в qtcreator, но он только для крестов енджой ер гавнокуте.

> можно ли сделать "экзешник"
Можно.

Ответы>>703228

30 Мар, 19:47 #488 #703213

>>696294
хах, заработал бакс на том что пиздил конкурсы с других сайтов скриптом

30 Мар, 19:59 #489 #703228

>>703039
>Нет, это пистоновская обвязка к графическому тулкиту
Не пони
>Можно.
Можешь вкратце описать процесс?

Ответы>>703273

30 Мар, 20:39 #490 #703273

>>703228
>Можешь вкратце описать процесс?
Это будет не полноценный экзешник, а просто упакованный твой код + интерпретатор, гугли например py2exe, в гугле же найдешь и другие способы. Есть так же экспериментальные трансляторы питоно-кода в плюсовый, но с кучей ограничений, гуглить Nuitka

Ответы>>703933

30 Мар, 23:11 #491 #703433

Есть один проект джанго, и в нем одно приложение - API. В urls самого проекта, я дёргаю views проекта, который должен отрендерить шаблон в templates самого проекта. Но какого хуя он ищет этот шаблон в приложении API и его папке? Это же нелогично, блядь.

Ответы>>703634

30 Мар, 23:49 #492 #703474

Добавил в сеттингс, заработало.

31 Мар, 05:41 #493 #703634

>>703433
дефолтное поведение же - у тебя в settings.py указан либо django.template.loaders.app_directories.Loader в списке TEMPLATE_LOADERS (в старых версиях фреймворка) либо установлен флаг APP_DIRS = True в структуре с названием TEMPLATES (в последних версиях). Оба этих действия приводят к тому, что в ходе рендеринга шаблона django производит поиск в дирикториях с приложениями (app) в поддиректориях с названием templates и только после в директориях, указанных в TEMPLATE_DIRS. Давно не колупал новую джангу, поправьте, если что то упустил.

31 Мар, 05:47 #494 #703636

Посоны, а как в гуях определяется нажатие на кнпоку на самом низком уровне? До всяких абстракций с эвент хендлерами. Нормально ли, если я рисуя что-то в пиглете просто вставляю это:
def on_mouse_move(x,y):
if button.left_x < x < button.right_x and button.bottom_y < y < button.top_y:
button.highlight()

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

31 Мар, 12:38 #495 #703817

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

Ответы>>703823

31 Мар, 12:47 #496 #703823

>>703817
Поток наверное.
Хз как в tkinter, в pygtk можно дергать в этом цикле просто gtk.main_iteration() и тогда всё ок будет.

31 Мар, 13:33 #497 #703853

ПитонЫ, возможно ли в питоноскрипте в виндовую консоль писать шрифтом красного цвета?

Ответы>>703856>>704003

31 Мар, 13:36 #498 #703856

>>703853
А этот обрубок консоли вообще в цвета умеет? Если умеет - значит можно, гугл в помощь.

Ответы>>703864

31 Мар, 13:43 #499 #703864

>>703856
Умеет, есть winapi-функция для изменения цвета. Самого тошнит от этой недооси, но возникла необходимость написать скрипт.

Ответы>>703868

31 Мар, 13:49 #500 #703868

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

Ответы>>703871

31 Мар, 13:57 #501 #703871

>>703868
Вроде нет.

31 Мар, 14:04 #502 #703875

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

Ответы>>703885>>703887

31 Мар, 14:09 #503 #703885

>>703875
> Какой оптимальный подход к изучению джанги
tutorial почитай на оф сайте и есть хорошая книжка 2 scoops of django.
> Что следует знать помимо
http, основы html/css/js/jquery/и т.п., иметь представление о wsgi, настройке вебсервера и всякого деплоя, mq/celery, redis и подобное, ну git ес-но. Возможно REST и всякие django rest framework.

31 Мар, 14:10 #504 #703887

>>703875
торнадо знать не обязательно, тем более сейчас более в моде больше aiohttp/asyncio.
Вообще дохуя всего надо знать, стек технологий большой, но ничего прям такого уж сложного нет, просто много всего.

31 Мар, 14:39 #505 #703913

Ну а если основной упор именно на бэкэнд?

Ответы>>703915>>703916

31 Мар, 14:40 #506 #703914

Перекат пилите.

31 Мар, 14:41 #507 #703915

>>703913
Фуллстак востребованней.

31 Мар, 14:42 #508 #703916

>>703913
Всё равно основы какие-то знать надо.

ПЕРЕКАТ 31 Мар, 14:48 #509 #703924

https://2ch.hk/pr/res/703923.html (М)
https://2ch.hk/pr/res/703923.html (М)
https://2ch.hk/pr/res/703923.html (М)
https://2ch.hk/pr/res/703923.html (М)

31 Мар, 14:55 #510 #703933

>>703273
Трансляторы нинужны, если мне код на ++ понадобится, то я на нём сразу и напишу.

Ответы>>704282

31 Мар, 15:57 #511 #704003

>>703853
colorama

31 Мар, 19:17 #512 #704282

>>703933
Так пиши сразу машинный код (байткод питоновской вм), хуле ты.

435 Кб, 1200x1600

31 Мар, 21:35 #513 #704442

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

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

Ответы>>704475

31 Мар, 21:58 #514 #704475

>>704442
Доусон - такое себе, если тебе игровой формат нравится, как тем детям-даунам например

Имхо кодекадеми + чтение Лутца по изучаемым в данный момент времени на кодекадеми темам - пока лучшее комбо для самого старта

01 Апр, 10:30 #515 #704752

Как заставить сигналы в QT передавать в слот keyword-аргументы?

TypeError: emit() takes no keyword arguments

Дублировать там значения аргументов, которые по-умолчанию стоят и не требуют переопределения - лишняя работа. + последовательность из True, False, False, 5 и тд выглядит пиздецово и нечитабельно, в отличии от count=5.

Ответы>>704767>>705190

01 Апр, 10:51 #516 #704767

>>704752
На ум приходит только переопределение класса сигнала, или оборачивание слота в обертку, которая будет распаковывать кортеж с именованными аргументами уровня (count=5,) и передавать слоту.

01 Апр, 18:29 #517 #705190

>>704752
Передавай словарь, ёпту.

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

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

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

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion