Двач.hk прислал битые данные.
Вы видите копию треда, сохраненную 11 февраля 2016 года.
Можете попробовать обновить страницу, чтобы увидеть актуальную версию.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
#2 #637860
Как выводить юникод в cmd?
#3 #637873
>>637851 (OP)
работаю питон-джуном. Тяжело дается, завидую старшим товарищам, есть ощущение что никогда не дотяну до их уровня т.к не хватает внимательности, системности мышления или чего-то такого, чисто генетического. Короче теперь это ЕОЯП-нытья тред.
#4 #637901
Я к вам с платиной, ребята. Правда, что на питоне нет работы для новичков?
или это все враки?
#5 #637936
Сап. Есть кусок кода http://pastebin.com/yvtF9SyM

Проблема в том, что
print(">RES 0:", res)
почему то выдаёт [''], хотя в first_word пустых строк нет вообще.

Пример вывода:
'.' in first_word False
'' in first_word False
' ' in first_word False
'.' in res[0] False
'' == res[0] True
' ' in res[0] False

>RES 0: ['']


.

В чём может быть проблема?
#6 #637989
Qt4.
Как можно предотвратить многократное нажатие кнопки, пока не окончилось исполнение прошлого нажатия?
Например, кнопка законнекчена на функцию, которая 20 раз выводит print('asshole') из отдельного tread'a. Если я нажму кнопку сразу 4 раза, слово выведется 80 раз.
Ставить кнопку как неактивную на время исполнения через .setEnabled(False) не вариант - нужно визуальное отображение, что нажата именно эта кнопка.

Есть ли более элегантное решение, чем внешняя переменная, которую проверяет эта функция (например, если она в True - код не исполняется)?
#7 #637997
>>637860
Проблема в том, что кодировка винды - не UTF-8.
Например, у тебя строки в UTF-8, а в cmd пытается вывести в ISO-8859-5, если не указать явно.
Нужно поиграться с кодировками.
#8 #638002
>>637989
может через метод blockSignals попробывать? поищи, может это то.
#9 #638008
>>637997
Да я знаю. В cmd по умолчанию вообще 866, а питонокодек даже треугольники из трифорса не может из юникода в 866 перекодировать. Об остальных спецсимволах и говоритть нечего.
#10 #638029
>>637873
Ну рассказывай, свою судьбу так сказать. С чего вообще начал, как вкатился, какие материалы изучал, что для новичков порекомендуешь?
#11 #638100
Парни, трэд не читал и всё такое. Дико извиняюсь за невероятно глупый вопрос, но: что есть аналог оператора паскаля read в Пайтоне?
#12 #638107
>>638100
raw_input
#13 #638111
>>638100
Не слушай шаред хостера >>638107 input() конечно же.
#14 #638115
>>638111
>>638107
Спасибо
#15 #638117
>>637901

бамп
#16 #638119
>>638008
Тогда в чем проблема? Тебе нужно именно вывести что-то в консоль? Нужно переопределить sys.stdout, если запускаешь не из консоли.
#17 #638120
>>638119
Парсю сосачиз жсона, .decode('utf-8') и пытаюсь вывести в терминал. Постоянно вылазят ошибки типа "не могу перекодировать \u2013 в 866".
#18 #638122
>>638120

>\u2013


Это же '-'?
http://stackoverflow.com/questions/33827003/python-script-is-printing-u2013
Попробуй выводить через print.
#19 #638127
>>638122

>Попробуй выводить через print


Эмм... Через него и вывожу. И не только u2013, а ещё куча других.
#20 #638131
>>638127
Значит кодировки несходятся. А может, спецсимвол какой типа маркера BOM пидорасит все. Я результаты записывал в файл текстовый, и с ним игрался.
И вот если этот BOM не обрезать - там все символы не так распознаются.
#21 #638136
>>638131

> Я результаты записывал в файл текстовый, и с ним игрался.


В файл записать не проблема. Я сразу нна вывод хочу. А cmd нормально не умеет в юникод, судя по всему.
#22 #638141
>>638127
У меня выводится вполне UTF-8 в консоль.
Мне кажется, все дело в том, в какой кодировке то, что ты там парсишь. Википедия отдает уже в UTF-8, например.
Попробуй string.encode('ascii')).decode('utf8')
#23 #638142
>>638141

>в консоль


В какую?
#24 #638143
#25 #638144
>>637873
Такое же ощущение было в начале карьеры. Полсе 5 лет активного вьеба гутарю с сеньорами на одном уровне.
#26 #638152
>>637024

>Кто-нибудь пилил приложения под ведро на киви? Норм все собирается и пашет?


Бамп вопросу.
#27 #638153
А я закрытом треде сидел, как лох.
35 Кб, 240x320
#28 #638154
#29 #638158
>>638136
Честно говоря, щас тестанул, у меня и в консоли интерпретатора выводит хуйню из кракозябр из u'\u2013'. При декодировании в UTF-8 точно.
Причем, только в 2.7. В 3.5 все выводит правильно.
#30 #638159
>>638158
Две проблемы - старый питон (2.7), старая консоль (cmd). Решишь обе - твои волосы станут мягкими и шелковистыми. Решишь что-то одно - полумеры. Не решишь ни одной - придется строить дворцы из костылей до конца твоей короткой жизни.

С питоном очевидный выбор третий версии. С cmd - хуй знает, попробуй powershell.
#31 #638161
>>638159
Хз, cmd не каждый меняет, если целиться на то, что ты не единственный пользователь.
#32 #638163
>>638161
Если ты пишешь консольное приложение и целишься на то, что ты не единственный пользователь - либо твои пользователи должны быть красноглазыми линуксоидами а нахуй им твой cmd?, либо надо писать гуевое, через pygi/pygobject например.
#33 #638164
>>638163
Да лан, часто видел инсталляторы, например, вылезло окошко консоли, написалось туда нечто, пропало.
#34 #638165
>>638164
А вообще хз, конечно, зачем писать результаты парсера в консоль.
#35 #638166
>>638161
cmd по умолчанию равно null. cmd нормально не умеет в юникод.
#36 #638169
>>638165
Это ж пиздос, нельзя ничего скопировать, например.
#37 #638170
>>638161
cmd по умолчанию - фишка функциональных языков.
#38 #638172
>>638169
Ещё как можно.
#39 #638173
>>638172
Вывел нечто в консоль. Пытаюсь выделить через ПКМ - и ничего. Я нормален?
#40 #638174
>>638173
Правой кнопкой на заголовке окна - свойства - выделение текста мышью. Чтобы его скопировать жми Enter.
#41 #638175
>>638174
Ох, никогда не догадывался, что у cmd есть меню настроек.
#42 #638176
>>638175
Я все сообщения об ошибках переписывал, лол.
#43 #638180
>>638176
Ошибка может быть забавна для небольшого кода, но это я знаю что в уродстве иллюзий нашел смысл жить.
#44 #638203
Сколько же тут мудаковых тредов... В общем - есть одна джанга. На вебе приходится постоянно решать такой вопрос, когда есть некий каркас (заголовок, подвал, меню слева с категориями из конфига или модели, и прочее), а есть куча разных вьюх, которые генерируют свои страницы внутрь этого каркаса. Если я сделаю во views.py так:

def wrap(view):
....#Здесь задается контекст со всеми вызовами моделей, а также в него кладется view.
....return render(request, 'app/wrap.html', context)

def myview():
....wrap(render(blabla...))

Это будет как-то убого, или нормально? В Jinja2 это делалось как-то поэлегантнее, через extends, но прикручивать ее к джанге не хочу пока.
#45 #638210
>>638203
Можно еще так.
http://djbook.ru/ch04s07.html
#46 #638218
>>638002
Именно то, что надо. Бобра тебе.
#47 #638222
>>638180
Это хокку?
sage #48 #638225
>>637936
Зачем кусок кода из-середины скопипастил? Надо целиком исходники кидать.
#49 #638226
>>638225
Да я уже всё починил. Но если надо, могу вкинуть, или даже гитхаб запилить. Это генератор цепей Маркова из постов сосача.

>>638222
Это пример его работы.
#50 #638236
Qt4
Нихуя не понял
Разве

self.connect(self.timerbox, QtCore.SIGNAL('textChanged()'), self.settimertime)

не одно и тоже с

self.timerbox.textChanged.connect(self.settimertime)

?
Первый случай не работает, в отличии от второго.
#51 #638239
>>638236
Хм, а вот
self.connect(self.timerbox, QtCore.SIGNAL('textChanged(QString)'), self.settimertime)
работает
#52 #638242
>>638236
self.timerbox = QtGui.QLineEdit()
если что
#53 #638243
>>638236
Видимо, мне не понятно, что происходит в сигналах и почему они не вызываются, если не передавать им аргумент, и почему это не приводит к ошибке.
#54 #638244
>>638243
Вот, например, как понять вот это из документации? Что есть const и &?

void textChanged (const QString&)
#55 #638246
>>638236
QString - это же просто тип аргумента, который будет передан сигналу? Если так, то какой смысл постоянно указывать это, если я не могу указать там int, например?
#56 #638247
>>638246
И не передаю QString в слот, например?
#57 #638250
>>638247
Хуйню спорол. Аргумент сигнала никак не влияет на слот.
#60 #638286
>>638284
Чет никаких выводов не напрашивается.
#61 #638287
>>638286
Да и не должно быть. Просто картинка. Посмотрел и забыл.
#62 #638290
>>638287
>>638284
Пик у джанги это наверное премьера джанго освобожденного.
#63 #638291
>>638290
Лол, и правда.

>Премьера: 25 декабря 2012 г.

#64 #638326
Я думал энтерпрайз и стабильность про 2.x - это мемасы такие. Оказывается, на нем правда проекты пилят, даже свежие, новенькие, еще хрустящие.
#65 #638327
>>638326
Давно тебя не видели. Новенькие проекты и на делфи пилят, и на прочих трупах. Не стоит ставить маргиналов и ретроградов в пример приличным господам.
#66 #638333
>>638327
Маргиналы, маргиналами, а мне теперь вспоминать все эти __unicode__, xrange(), from __future__ import...
#67 #638334
>>638333

>from __future__ import


Напиши им что ФЬЮЧЕ УЖЕ ЗДЕСЬ.
#68 #638335
>>638327
Тем не менее 2.7 на большенстве дистров дефолт.
#69 #638339
>>638335
К концу поддержки двойки - тройка будет дефолтом даже среди самых слоупочных.
#70 #638358
Посаны, у меня на убунту питон сломался после того как я установил анаконду. Когда в терминале пишу python или python3, выдает http://pastebin.com/c13tBcJE .
python3.4 работает.

Обнаружил, что у меня в .bashrc строка
export PYTHONPATH="/usr/lib/python3.4/"
вместо
export PYTHONPATH="$PYTHONPATH:/usr/lib/python3.4/"

То есть, у меня PYTHONPATH проебался. Как мне его восстановить? Я попробовал в .bashrc написать
export PYTHONPATH="$PYTHONPATH:/usr/lib/python2.7/"
export PYTHONPATH="$PYTHONPATH:/usr/lib/python3/"
export PYTHONPATH="$PYTHONPATH:/usr/lib/python3.4/"
, но не помогло, при запуске любого питона (теперь уже даже при запуске 3.4) выдает http://pastebin.com/v417nizh

Короче, мне че, питоны переустанавливать, или есть возможность как-то пофиксить PYTHONPATH?
#71 #638367
>>638358
Убирай PYTHONPATH, проверь куда указывает PATH. Сам я не ставил, но кажется эта штука несет свой бинарник питона, проверь через `which python`. /usr/lib/pythonN/ по идее уже в путях питона по дефолту.
#72 #638368
А чому range() в 3 медленнее xrange() в 2?
#73 #638374
работать питон джуниор в России есть шансы или лучше осваивать кресты, либо джава?
#74 #638376
#75 #638377
>>638367
Убрал PYTHONPATH, написал в .bashrc
export PATH="$PATH:/usr/lib/python2.7/"
export PATH="$PATH:/usr/lib/python3/"
export PATH="$PATH:/usr/lib/python3.4/"
, все заработало. Спасибо.
#76 #638378
>>638377
Хорошо, что заработало, но написал ты хуйню. Убирай PATH, это для исполняемых файлов.
#77 #638379
>>638378
Ну и как тогда сделать? До этого
echo $PATH | grep python -i
ничего не печатала. То есть я вообще не понимаю, как у меня хотя бы питон 3.4 запускался. Видимо, убунту смотрит в PYTHONPATH.
#78 #638381
>>638379
Короче, исправил на
export PATH="$PATH:/usr/bin/python2.7/"
export PATH="$PATH:/usr/bin/python3/"
export PATH="$PATH:/usr/bin/python3.4/"
Так тоже работает.
#79 #638388
>>638379>>638381
Ты не о том. В PYTHONPATH расположены дополнительные питоновы модули (cvs.py, gzip.py, codecs.py), а не сам питон. В PATH распаложены исполняемые файлы (python, bash, nautilus). Та и другая это список директорий, /usr/bin/python2.7 это не директория.
Ну можешь забить, раз работает, так и оставь, ничего не случится.
#80 #638408
>>638388
Не, ну а че мне добавлять "usr/bin" в PATH? В "usr/bin" как-то слишком дохера всего.
#81 #638429
>>638408
Шо значит слишком дохера? Так и должно быть, у меня там 3k+ файлов. /usr/bin уже по дефолту там должен быть указан.
Если у тебя без export PATH="$PATH:/usr/bin/python3.4/" ломается, значит что-то где-то криво, инсталятор анаконды видимо самостоятельно редактирует bashrc, черт знает что он еще делает.
#82 #638498
>>638268
Это и для второго то питона было костылём, а в третьем вообще не работает.
11 Кб, 372x174
#83 #638521
Подскажите нубу и по возможности не обассывайте. Вкатываюсь в питон, хочу на одном компе под виндой использовать стандартный дистрибутив питона и анаконду, так чтобы из консоли можно было вызывать отдельно интерпретатор анаконды под своим именем и интерпетатор обычного питона под своим именем(например analpython и python) и каждый со своим набором библиотек. Обычный питон уже стоит и прописан в cmd как python. Anaconda при установке предлагает выбрать опции на пикрелейтед. чё в общем сделать нужно?
#84 #638522
Джуны без образования, вы долго дома дрочились, прежде чем устроились на первое место?
#85 #638578
Кто саблаймом пользуется, скажите - у вас Sublime Code Intel не глючит? У меня иногда начинает само меню с автодополнением выскакивать, даже если я ничего еще не написал - только курсор в пустой строке поставил. Причем, если альт-табнуться на другое окно - это меню поверх всех висит. Раздражает, сука. Лечится перезапуском саблайма, но через какое-то время опять начинает. Может, другой автокомплит для питона подскажете?
#86 #638588
#87 #638629
>>638588
virtualenv
#88 #638632
>>638236
Первый вариант это старый способ подключения к сигналу и как бы уже не рекомендуется так делать. Нахуя он тебе в новом коде? Ебашь сразу второй.
#89 #638645
>>638629
Да вообще похуй.
#90 #638683
Я дичайше извиняюсь, но редактировал модуль виндовым блокнотом, и теперь IDLE выдает мне ошибку с "п»ї" в начале модуля. Как его убрать?
#91 #638690
>>638368
пруф?
#92 #638694
>>638683
1. Проверь что в начале стоит
[code]#! encoding: utf-8[/code]

2. Пересохрани через notepad++ как UTF without BOM
#93 #638695
>>638694
нда, абу

>2016


>не иметь поддержки тега code

#94 #638697
>>638694
Спасибо!
#95 #638698
>>638695
Добро пожаловать.
#96 #638837
>>638226
Будь добр, скинь свое поделие, сам хочу нечто подобное сделать, мне пригодится.
#97 #638865
>>637901
ну бамп же
45 Кб, 771x217
#98 #638888
Что это вообще за хуйня? Так и лезет на язык "нормально же общались" бля
106 Кб, 498x689
#99 #638893
Курс от ВШЭ и Яндекса по машинному обучению
Бесплатно без смс, на русике (из коробки), Python, scipy

https://www.coursera.org/learn/vvedenie-mashinnoe-obuchenie/
#100 #638896
>>638888
Кстати, где посмотреть на разбор реализации подобных математических задач, но начиная с примеров попроще?
#101 #638898
>>638896
Я тут нашел решение https://epequeno.wordpress.com/2011/11/25/exercise-7-5/ но это ж блядь не серьёзно, что это за задание такое что я нихуя не понять в какую сторону хуярить
#102 #638902
>>638896
Сорри, читал твой пост на эмоциях.
Моё мнение что надо нам начинать в алгоритмику и математику вкатываться с SICP и далее по куче годной литературы аж до дзена
#103 #638903
>>638896
Ну, конкретно в этом примере ничего сложного нет. Хотя, про готовую функцию расчета факториала я не знал и, скорее всего, написал бы свою.
#104 #638905
>>638893
Математику заебок надо знать? И если да, то какие разделы?
#105 #638907
>>638905

>Слушателю нужно знать об основных понятиях математики: функциях, производных, векторах, матрицах. Для выполнения практических заданий потребуются базовые навыки программирования. Желательно знать Python.

#106 #638908
>>638905
Я на хабре нашёл ссылку на этот курс, там местные мудилы возмущены были что слишком ДЛЯ НУБОВ, мол не могли сделать как в каком-то существубщем курсе забугорного вуза на 2 семестра и с кучей формул.
Яндекс оправдывался мол расчитано охватить как можно большую аудиторию вообще потому простое должно быть всё.
#107 #638920
>>638908
Бля, такой охуенный и интересный курс, жаль что времени совсем на него нет. Буду скачивать лекции в надежде потом как-нибудь пройти.
3060 Кб, Webm
#108 #638968
>>637851 (OP)
Есть ли возможность как-нибудь заоверрайдить глобальные переменные лишь для одного вызова определенной функции, при этом самих их не меняя? Смотрите, ведь так можно сделать скрипт лишь с этим кодом:
globally = dict(
----test = 'Hello World!'
)
exec("print(test)", globally)

И оно будет выводить "Hello World", хотя в глобальном неймспейсе никакого test в помине нет. А вот так уже нельзя:
func = lambda: print(test)
globally = dict(
----func = func,
----test = 'Hello World!'
)
exec("func()", globally)
#109 #638975
>>638968
Но зачем?
#110 #638985
>>638975
Не думаю, что это важно. Нужно выполнить функцию, которая должна получить "виртуальные" глобальные переменные, обработать их и вывести а каким образом — это не имеет роли. Нет, вариант тупо использовать аргументы/os.environ не катит.
#111 #638987
Qt4.

При попытке создать окно через treading.tread - оно сразу закрывается. Без использования treading.tread функция работает, но тогда я не могу засунуть ее в цикл, который вызывает ее каждый пол часа, например.

Пример
http://pastebin.com/GcQp8t7e

В чем может быть проблема? Помимо велосипедов с питоновскими tread'ами?

Если новое окно наполнять какими-то элементами, то никакого сообщения, что объект уничтожен - не будет. Все будет идти, словно это окно существует.

Но тогда почему его не видно?
#112 #638994
>>638985
Я пока не понимаю, чем это отличается от передачи аргументов в функцию, кроме отсутствия переменных в locals.
#113 #638996
>>638994
Функция не должна получать аргументов в явном виде, в том то и дело.
2656 Кб, 264x240
#114 #639009
>>638968
>>638994
Нашел:
func.__globals__['foo'] = 'bar'
func()

Всё работает.
#115 #639016
>>639009
Но это все тот же globals(), а не "виртуальный", разве нет?
#116 #639087
Странная вещь. Многие выше пишут о какой-то борьбе с пифоном, приводя примеры кода, которые я бы в жизни не написал. И ставя задачи, которые у меня бы никогда не возникли при написании кода. Я это к чему. Наверняка многие слышали что-то вроде "о, было бы клёво если бы…" и потом какая-то охинеия в виде "зделать заебись() чтобы заебись". Обвинение языка/библиотеки в слабости и отсутствии фич. Но по факту это лишь неосиляторство и расписка в своей тупизне. Понятно, что чем дальше, тем выше уровень абстракций, тем лечге писать программы. Но, блядь, не на столько же. Инструмент надо использовать по назначению.
#117 #639094
Есть одна джанга. Есть модель Item с кучей полей. Есть модель CartItem с полем количества товаров, ну и внешним ключем на Item. Я делаю так:

Item.objects.filter(cartitem__cart_id=cart_id)

Но вижу в результате только поля из Item, а полей из CartItem (и нужного мне поля quantity) не вижу. Это при том что судя по фильтру джойн таки должен производиться. Пробовал select_related('cartitem') вставить, но выдает ошибку, что нельзя. Что за злоебучее говно, неужели я должен на такую тривиальную вещь писать raw sql?
#118 #639096
>>638888
Хм, спасибо за задачку. Я тоже начинающий питонщик (пришлось гуглить как находить корни чисел в питооне), как и ты. В высшей математике не силён (пришлось искать значение "!" как математического знака). Но я решил эту задачу.
http://pastebin.com/sY2LFmcz
94 Кб, 378x480
#119 #639102
>>639094
В дополнение к этому вопрос. Есть например базовый шаблон. Я могу вставлять в него те или иные вещи с помощью кастомных тэгов шаблонизатора. Допустим я хочу в каждой конкретной вьюхе заполнить некий словарь, где я напишу тайтл, всякие og-теги, и прочее такое, чтобы потом обратиться к нему с помощью кастомных тэгов, которые лежат в пакете templatetags. Вопрос в том, куда класть эти данные, чтобы они были доступны отовсюду? Вернее куда принято их класть?
#120 #639107
>>638987
Таки проблема в treading.tread. А точнее в сигналах и слотах.
Их нельзя использовать из tread.
#121 #639120
Вкатился моче за щеку
#122 #639125
>>638578
У меня та же хуйта с анакондой (автокомплит, линтинг, доки для питона) на сублиме, оно свои расчеты производит на встроеном сервере и бывает этот сервер уходит в 100% CPU и начинается пиздец: левые попапы, подсветка несуществующих ошибок, и т.п. Терплю, лень вникать в проблему. И ты терпи.
#123 #639132
vim+jedi всем саблаймопроблемникам.
#124 #639156
>>637901
бампнул тебе за щеку, щенок
#125 #639207
>>639125
Терпеть не стал, полночи подбирал другой набор пакетов и настраивал их. На данный момент все, вроде, работает, как я хочу. Будут ли глюки - покажет дальнейшая эксплуатация. Сделал, кароч, автокомплит для питона (с задержкой 500мс), линтинг (в т.ч. pep8), рулеры на 72 и 79 символов, emmet для html+css, markdown превью, подсветку тегов джанго, сайдбар с расширенными возможностями, терминал, спеллчекер для en, добавил python3 в build system list, обмазал все это шрифтом Source Code Pro, темной темой Soda, и забэкапил всю эту хуйню в zip, чтобы не настраивать в будущем все по новой. Вроде, ничего не забыл.
#126 #639217
Господа, а чо есть по геймдеву?
#127 #639245
Пацаны, вот есть слварь типа {str: int}
Как мне вывести первые 3 с самыми крупными values?
#129 #639255
>>639245
print sorted(d, key=lambda x: d[x])[-3:]
#130 #639257
#131 #639258
#132 #639267
>>639245
collections.Counter
142 Кб, 775x775
#133 #639275
113 тыс слов по всем 5-разрядным комбинациям 28 букв прогнать с несложной проверкой сколько по времени примерно займёт? Без асинхронщины и тд
#134 #639279
>>639275
Если ориентироваться по табличке отсюда https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9_%D0%BF%D0%B5%D1%80%D0%B5%D0%B1%D0%BE%D1%80 , то у тебя будет 28^5 = 17210368 комбинаций, которые перебираются, кх-кх, пентиумом 100 за 2.9 минут. Стало быть, все 113k слов пройдут по списку комбинаций за 2.9 * 113k = 225 суток.
#135 #639283
>>639279
Хохохохо! Охуительно!
#136 #639335
А есть что типа itertools.combinations только генерящее не варианты с заданной разрядностью, а сразу все?
Можно конечно и в цикл for i in len(....) завернуть со сбором в список какой, но это как-то тупо же?
#137 #639342
>>639335
itertool.product(list_of_symbols, repeat=len(list_of_symbols))
#138 #639361
>>639342
Не не, это как раз то же от чего я хочу уйти.
Есть буквы скажем A B C D E
Надо получить множество комбинации и меньшей разрядности типа:
A, B, C, D,
A B, A C, B C, ....
.....
A B C D
#139 #639373
>>639361
Ну, не знаю. На ум тогда только сорт оф хак приходит c '' в качестве одной из букв. https://ideone.com/uo4NNr
#140 #639374
>>639373
Только от повторов надо будет вывод почистить. Загнать все в set(), например.
#141 #639540
>>639373
>>639374
А, оно загоняет всё же. Я сразу не понял.
Спасибо!
332 Кб, 867x900
#142 #639671
А на курсере как, не успел до дедлайна недельного и вылетаешь? А то начал курс >>638893 аккурат за 14 ччасов до дедлайна
26 Кб, 421x288
#143 #639681
Говно ебаное в общем эта джанга. Обоснование:

1) Ебанутые магические модели, которые работают хуй пойми как, и приходится писать raw sql, потому что нет системы activerecord, а возиться с решением ТРИВИАЛЬНЕЙШИХ задач за счет познания дзена этих ебучих моделей некогда.
2) Ебанутые inlines в админке, из-за которых приходится оверрайдить небо и Аллаха, писать оверрайды темплейтов, оверрайды методов модели админки, и впиздячивать все дерьмо самому. При этом калоеды-адепты Джанги смотрят с укоризной, придурковато улыбаясь и считая, что я не познал суть Магии Говноедских Инлайнов или что-то там не подстелил себе магическими говноедскими флагами полей. Из-за этого возникает некий анальный дискомфорт и 150 вкладок в браузере со стековерфлоу при решении банальных задач.

Но сессии и система контроля доступа хорошие. Правда хуета в моделях все убивает и заставляет плакать. Я лучше возьму Rails, алхимию, яву или даже сраный YII, ведь в них есть активрекорд, а этим говнищем пусть пользуются авторы сайтов-визиток, или жрут пускай этот кал бывшие битриксоиды, которые готовы на этом протухшем говне писать сложные вещи, попутно навешивая на этот говнокомбаин миллиарды тухлых pip-ов. Нет, я лучше сам админку сделаю, спасибо, идите нахуй.
#144 #639684
Использую питон онли как калькулятор консольный. Все правильно делаю?
#145 #639689
>>639681
Давно такого бомбления не видел, найс.
1) По моделям ждагни есть видосы на русскрм, где все объяснено
2) Пытаться сделать из админки что-то такое-эдакое, отличное от ее прямого назначения -- быть вспомогательным инструментом разработчика --- суть -- долбоебизм и незнание матчасти и гудпрактис.
#146 #639693
>>639681
Джангу начинаешь любить поебавшись с Фласком и тд
Мимо экс хейтер
#147 #639695
Erlang программист?! ...этот открыто светящийся интеллект, этот свободный и выразительный код, эта легкость и широта мысли, непринужденность переключения из одной лямбды в другую и вообще от техники - к предметной области, к тестированию. Затем - эта воспитанность, краткость кода: хорошее форматирование, плавно согласованное и без сорных конструкций; у одного - немножно лисп; у другого - немножко хаскель; и всегда у всех - функциональная парадигма на лице
#148 #639696
>>639681
Вся суть рейлоеба. Шаг влево, шаг вправо - рушится манямирок.
#149 #639701
Что лучше requests или urlib2 или может ещё что-то более годное есть?
#150 #639704
>>639701
aiohttp
#151 #639707
>>639704
Даже так:
aiohttp > requests > говно > моча > urllib
#152 #639712
>>639707
чому тебе так урллиб не нра?
#153 #639714
>>639704

>aiohttp


А как эту хуйню тестировать? Обычные юнит-тесты писать как я понимаю не получится, нужно ивент-луп таскать за собой.
#154 #639717
>>639714
замочить
#155 #639740
>>639712
api не нравится.
#156 #639743
>>639714
Пишешь декоратор, который луп запускает к твоей корутине и всё.
#157 #639752
Как регуляркой искать двойные буквы?
ну типа billy, expression и тд?
#158 #639763
>>639752
{m}
Specifies that exactly m copies of the previous RE should be matched; fewer matches cause the entire RE not to match. For example, a{6} will match exactly six 'a' characters, but not five.
#159 #639766
>>639752
в гугле дохуя вариантов, ленивая ты жопа
#160 #639775
>>639763
Т.е. нужно конкретно какой-то символ указывать? Просто типа[a-z][a-z]{2}[a-] нельзя?
или как это вставлять?
>>639766
Я в регулярках оче плохо разбираюсь, того и спросил. Гуглить особо не помогло, кстати. regular double звучит тупо, а на большее меня не хватило.
#161 #639784
>>639775
Почему бы вместо вопросов просто не попробовать выполнить код? От этого будет больше толку.
#162 #639815
>>639784
Спасибо
#163 #639846
>>639775
https://regex101.com/
Хороший сервис для регулярок. Если ты такой же даун как и я в регулярках, то этот сайт для тебя. Сразу видно что и с чем матчится.
300 Кб, 950x913
#164 #639854
>>639846
Спасибо, лол.
#165 #639970
Qt4.
Допустим, есть QMainWindow, являющийся родителем для QWidget. А QWidget является родителем для другого QWidget.

Сигнал, посланный из самого глубоко засунутого QWidget - может достичь QMainWindow, или он не выходит за пределы родителя?
#166 #639999
>>639681
А вот и неосилятор порвался.
мимо-джангодебил
#167 #640002
>>639970
Какие сигналы соединишь, те и достигнут.
#168 #640025
>>639693
А я наоборот на Фласке себя лучше чувствую сейчас. Unix-way во все поля: больше свободы и полный контроль за приложением.
Хотя для крупного приложение брал бы, конечно, джанго.
#169 #640027
>>639701
Я использую urllib, потому что она в станлартной поставке, а тянуть лишние зависимости-зло.
Aiohttp у бета-тестеров вроде на тройке в стандартной либе?
#170 #640039
>>640027

> Aiohttp у бета-тестеров вроде на тройке в стандартной либе?


Нет, с чего это вдруг?
#171 #640044
>>640039
Asyncio в стандартной значит, точно. Светлов же рассказывал.
#172 #640051
>>640044
asyncio — да, aiohttp — нет.
#173 #640070
Кстати по моему вопросу >>639671

>Assignments Overdue: You can still pass! Remember, you need to pass these assignments before the course ends on март 21, 09:59 утра PT.

#174 #640260
Сап, пачанчики-анончики! Трэд не читал.

Почему в Пайтоне 3 input() работает, а в 2 нет, что есть замена этому оператору? Или у меня у одного так? Я нюфаня, не обассывайте.
#175 #640262
>>640260
Второй питон - устаревшая реализация, настолько устаревшая что в те бородатые времена она еще не умела в инпут.
#176 #640266
>>640262
Без вариантов. Мне нужен именно он, против моего желания. Так что?
#177 #640275
Что-то я не понял, посмотрев сайты с разными вакансиями, и питоновских как-то мало обнаружил. Только джаба и c#. Питон не нужен, или продолжать на нем сидеть?
#178 #640294
>>640260
raw_input()
31 Кб, 769x619
#179 #640304
>>640294
Что я только не перепробовал. Задача простейшая. Чувствую себя долбоёбом. ЧЯДНТ?
#180 #640308
>>640304
работать и то и другое должно в двойке
в сыром_вводе оно не пытается лепить введённому свой тип, ну типа 12 - инт, вова - стр, а в обычном инте - пытается.

чё там о файлах написано ниже? я так понял тебе считать из файла нужно, потом сложить и записать в другой файл
#181 #640311
>>640304

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


используй str.split(), например
254 Кб, 1366x768
#182 #640348
>>640304
чему там не работать?)
#183 #640350
>>640348
Прости?
#184 #640353
>>640308
да, так и нужно, но и на других языках без этого задача выполняется
#185 #640354
>>640304
sum(list(map(int, raw_input().split())))
#186 #640357
Забыл добавить, что в компиляторе всё нормально
#187 #640360
>>640304
у тебя ж там написано строку из input.txt брать
нахуй тебе вообще input()
#188 #640361
>>640360
Я уже говорил
>>640353
131 Кб, 1366x768
#189 #640363
>>640348
быстрофикс
#190 #640366
>>640361
каких других языках, нахуй?
используй это >>640354 тогда
или это >>640363
у тебя ж написано "единственная строка входного потока"
#191 #640367
>>640363
Ну теперь вообще пиздец - SyntaxError: invalid syntax
#192 #640371
>>640366

>каких других языках, нахуй?


Там можно на нескольких языках. На Сишке пробовал и на Паскале пробовал без текстового документа - задача выполняется, паскаль выпендривается
#193 #640375
>>640371
Пайтон выпендривается*
#194 #640378
Блять, ну короче, знающие, переформируйте в форму Пайтона из паскаля

Var a, b:longint;
Begin
Readln(a, b);
Writeln(a + b)
end.
#195 #640380
>>640378
sosi
pisios()
idi_nahui_govno[]
#196 #640381
>>640354
вот это тебя чем не устраивает?
#197 #640382
>>640381
Не работает
#198 #640383
>>640382
>>640367
проблема в тебе
#199 #640385
>>640383
Скорее всего. Ибо другого объяснения я не могу найти.
54 Кб, 460x628
#200 #640398
Пасаны, хелп
#201 #640402
>>640398
проверь на ideone.com свои поделия
если там работает, значит проблема в твоем говносайте
#202 #640405
>>640398
Прыгай, там не высоко.
187 Кб, 336x468
#203 #640414
Всем спасибо, правильный ответ на тестирование был:
print sum(int(x) for x in raw_input().split(' '))
#204 #640416
>>640414
Ты полуебок
#205 #640466
Подскажите, чем удобней десериализовывать массив байтов, в котором могут быть пользовательские типы данных?
#206 #640469
>>640466
construct
#207 #640558
Как сделать одноразовую ссылку?
#208 #640666
Сначала думал сделать джанго-приложение, которое берет случайные коммиты с гитхаба и показывает сообщения оттуда. А то иногда не хватает словарного запаса чтобы написать грамотно и коротко. А так был бы пример. В общем все закончилось тем, что я на джс накатал по-быстрому. На проект это не тянет. Но все равно вброшу в любимый питон-тред.
https://jsfiddle.net/nb1f7uxj/
#209 #640667
>>640666
https://jsfiddle.net/nb1f7uxj/1/
Вот так будет лучше
#210 #640669
>>640558
В бд хранить ссылки. После посещения брать записывать как удаленную.
#211 #640679
Так посоны. Новая идея для совместного двач-проекта. Чуть погуглил и увидел, что есть альтернативные, неофициальные приложения для контакта, фейсбука, твиттера. А в наше время так много всяких мессенджеров: телеграм, скайп, вайбер, ватсап и куча соцсетей. Так вот. Представьте сервис, где ты вводишь все свои аккаунты и он собирает все контакты в одном месте. И с одного сайта\приложения ты можешь получать и отправлять сообщения на любые платформы. Это же здорово. Представь, слева список контактов. Щелкаешь по одному - выпадает список всех его клиентов. Пиши куда хочешь.

Идея два. Шифрованный мессенджер через вк или что угодно. Т.е. с человеком обмениваешься ключами и переписываешься. В вк хранится какая-то белиберда, а на клиенте расшифровывается.
#212 #640680
>>640679
А что со старым прожектом случилось, тот что с webm?
#213 #640686
>>640680
Живет у меня в гитхабе. Ребята его дописали вроде до вполне рабочего состояния. В продакшн его не получится использовать, потому что надо очень много места на диске и очень толстый канал. Это дорого. А дома можешь попробовать запустить.
#214 #640687
>>640679
Adium жи есть, Pidgin, и прочая с плагинами. Даже qutIM, прости его макаронейшество.
#215 #640688
>>640687
Ушел гуглить.
#216 #640696
>>640688
Кросспостинг заодно погугли. Прожект как раз о нём, если я правильно понял.
#217 #640697
>>640679
Таких мультипротокольных клиентов жопой жуй. Я pidgin юзаю, сразу для irc и xmpp. Еще фейспук умеет, вк через плагин, дофига короче.
#218 #640699
>>640696
>>640697
Окей, спасибо. Ну что ж, в другой раз.
#219 #640701
Толку с них если теперь каждая шалава свой мессинжер под свой протокол пиздячит. Скайп - говно от индусов, вайбер - от беларусов каких-то, вазап от пидерастичных американцев и телеграм отечественный гей-ответ на всё это безобразие! айне клиент, айне фюррер! гешлёсен протокол!
а говно на oauth - его уже все подряд умеют
сука, бесят
1014 Кб, 330x312
#220 #640706
>>640701

>свой мессинжер под свой протокол

#221 #640708
>>640701
Скайп бтв тоже через пиджин гонять можно, правда надо и сам скайп запущенным держать. Вот такой костыль. Телеграм вроде открытый, можно запилить плагин к любому мессенджеру. Остальное не знаю.

>>640699
Если тебе просто идею чтобы себя занять и набрать лойсиков на гитхабе - покопайся на сорсфордже среди заброшенных проектов. Или на вики почитай про труЪ юниксовые поделки. И просто укради старую идею, улучши и осовремень ее. Все новое - хорошо забытое старое.
#222 #640711
>>640706
Ну если тебе отсутсвие выбора клиента кажется совершенно нормальным явлением, то я заставший ирки и прочие айсикю сильно с этого недоволен, с такого сдвига парадигм
#223 #640712
>>640708
Хорошо, спасибо.
#224 #640713
>>640701
Не говори, даж алькаеда свой запилила, лол
39 Кб, 500x500
#225 #640714
>>638968
>>637851 (OP)
Аутист, пишущий микро-веб-фреймворк по типу bottlepy, выходит на связь.
Короче, я решил реализовать работу с данными клиента (ip, useragent итд.) не через переменные среды, а через встроенный в основной фреймворк класс. Допустим, есть такой работающий код:

> from framework import Server, cgi


> server = Server()


> @server.route('/')


> def hello(): print(cgi.client.ip())


> server.start(80)


Декоратор Server.route ловит функцию, пристыковывает к ней типа глобалку _currentRequestHandle который доступны лишь из этого frame-а, добавляет редирект print-а и сохраняет полученный цирк до запроса клиентом. При вызове функции cgi.client.ip() она с помощью inspect.stack находит эту самую, вызывающую её, функцию hello, вылавливает ту самую глобалку и использует в своих целях (в данном случае — использует значение _currentRequestHandler.client_adress[0]). Сделано это всё для упрощения последующей параллелизации.
Итак, вопрос: Сильный ли это говнокод? Можно ли написать красивее, умнее, лучше?
#226 #640715
>>640711
Это лишь шутливый намёк на создание еще одного мессенджера.
25 Кб, 471x669
#227 #640719
>>640715
Сорри, бро. Трудый глупый день.
#228 #640725
>>640714
У вас хуй с залупой на кокарде
290 Кб, 1000x1000
#229 #640727
>>640725
Действительно.
#230 #640758
Повторю вопрос из прошлого треда.

Django haystack solr vs elasticsearch

Кого и с чем едят? Что проще/юзабельнее/документация.

Пока для простого блога.
#231 #640769
>>640758
Юзал solr с хейстеком, ниче так, работало. Оно вроде бы дохуя гибкое и настраиваемое. Единственное, нужно джаваприложения уметь деплоить. а сравнить не с чем, хйего знат таищ майор
#232 #640774
>>640769

Они оба на джаве.
#233 #640791
http://www.dotnetperls.com/
Я тут годный сайтик нашёл с оче быстрыми примерами по самым основным темам в питоне. Наверное кому по-опытнее оно нахуй не нужно, но мне оно по регуляркам доставило.
#234 #640810
for i in range(1,101):
s = ''
if (i % 3 == 0):
s += 'Fizz'
if (i % 5 == 0):
s += 'Buzz'
if not s:
s += str(i)
print s
Аноны, поясните неграмотному полуебку про условие с несколькими if. В чем отличие от if-elif-else?
#235 #640813
>>640810
Видимо, разница в том, что при выполнении одного из условий последующие elif не проверяются. В случае же нескольких отдельных блоков if, каждое условие будет проверено.
23 Кб, 615x280
Привет всем. В шапке подобного не нашел, поэтому пишу постом. Может ли кто-то скиловый составить core knowledge того, что должен знать хороший Junior Python Dev (С джанго или без)? Ну и где можно найти годных тестов, т.к. нашел в нете только один питон квиз и он какой-то так себе. Просто книг можно прочитать хуеву тучу (почти закончил укус питона), но от этого толку мало без реальной практики.

Программист Java, Apex. Имею опыт работы и т.п. Кухню знаю мало мальски.

Спасибо.
#237 #640818
>>640813
Благодарю.
#238 #640819
>>640810
Делится на 3 не делится на 5
Делится на 5 не делится на 3
Делится на 5 и на 3
Вот и весь физбиз
#239 #640822
>>640819
Сорри я лох
#240 #640833
Есть тут знатоки construct'a ? Наговнокодил такую чушь http://pastebin.com/b6c6rUQc . Хотелось бы узнать, можно ли сделать элегантнее?

Если что переписывал этот код http://pastebin.com/MDMw6dbR
#241 #640857
В стандартной библиотеке есть инструменты для перевода времени формата "1303 минут" в 'hh:mm:ss'?
#242 #640860
>>640857
Тебе однострочник написать тяжело?
#243 #640869
#244 #640918
>>640304
sys.stdin
#245 #640985
Кто там хотел оче быстрый вводный курс в питон, вот прямо что бы за вечер:
http://nbviewer.jupyter.org/gist/rpmuller/5920182
#246 #640987
>>640985
мы ж те не ученые, ёпта
#247 #640991
>>640985
Устарело.
#248 #640992
>>640987
А чего там учёного? Скайпи-лёрнин? Не сказать что штука нужная только учёным, вон, у меня даже маркетологи знакомые о нём знают.
А так руководство хорошее, между теорией и результатами разрыв десять минут, обожаю такое
#249 #640993
>>640991
разницы между питоном 2 и 3? Принт() и нет ров_инпут? И всё?
#251 #640998
>>640994
Да не, это всё понятно. Я о том что перелючаться с одного на другой даже сил не отнимает, разве что напрягает отсутствие обратной совместимости но обычно это и не шибко нужно, по крайней мере мне.

А так, всем нубасикам могу заявить: знаешь питон2 = знаешь питон3 и наоборот
#252 #641017
>>640998
Это если у тебя хеллорворлд оно не занимает. 2to3 прогнал и порядок. А если ебля с юникодом и байтостроками и кодировками и бинарной датой и зависимостями - ты то хуй куда переключишься. Пойди какой-нибудь фабрик или ансибл переключи, чтобы "сил не отняло", умник блять. Будешь полгода говно вилкой чистить.

>по крайней мере мне.


По губе
#253 #641020
>>641017
Ты весь код через конрол-це пишешь?
#254 #641022
>>641017
Сорри, ступил.

Как бы то ни было - очевидно тебе тот туториал нахуй не нужен. Остальным рекомендую.
50 Кб, 733x736
#255 #641352
>>640714
Ну ёб твою мать, тут вопросы сложнее Hello Word-ов не обсуждают что ли? Интроспекция — это плохо, или нормально?
#256 #641354
>>640714

>Можно ли


Можно.
#257 #641358
>>641354
Ну любой код можно написать лучше, это аксиома. А как именно? Разверни свой ответ.
#258 #641370
>>641352

>Ну ёб твою мать, тут вопросы сложнее Hello Word-ов не обсуждают что ли?


Не обсуждают

>Интроспекция — это плохо, или нормально?


Чо, ёпта?
#259 #641372
>>641370
Пошли Балтики ебанем.
#260 #641376
>>641358
Всем лень вникать в твою портянку, написанную почему-то словами а не кодом. Да и с кодом наверняка лень будет. Мне кажется интроспекции там можно избежать простым запоминанием каллбека. Но в целом в интроспекции ничего плохого кроме усложнения кода не вижу.
#261 #641445
Если гугл мне в конце oauth-авторизации пишет, что 127.0.0.1:8000 для редиректа не годится - после деплоя с нормальным зарегистрированным URI это дело будет норм работать?
#262 #641466
def __init__(self, struct):
..self.a = struct.a
..self.b = struct.b

Можно избежать такой хуйни? Можно автоматически импортировать все содержимое struct?
#263 #641468
>>641466
Да, лол
self.struct = struct
#264 #641470
>>641468
Тогда придется обращаться как Class.struct.a, надо Class.a.
#265 #641474
>>641470
a = a.struct
#266 #641479
>>641474
Что?
#267 #641487
>>641479
Усё объекты и все наследуется жи
#268 #641492
>>641487
Кажется у нас недопонимание. У меня есть класс (который уже наследует у левого класса), которому при ините передается объект, из которого надо все переменные присвоить в свой "неймспейс". Можно делать это руками:
self.a = struct.a
self.b = struct.b
self.c = struct.c
self.d = struct.d
self.n = struct.n
А можно например так -- http://ideone.com/0jCA36
Но это как-то слишком уродливо.

Поскольку класс уже наследует у другого, до обычными средствами унаследовать не получится. И городить еще иерархию классов я не хочу. Есть что получше?
#269 #641497
>>641492
Переопредели __getattr__
#270 #641506
>>641497
Годно, спасибо.
#271 #641547
>>640815
Тебе надо уметь насиловать так и эдак джанговскую ORM, от корки до корки выучить документацию по моделям, иначе потом охуеешь. Далее хорошее знание стандартных тэгов и фильтров шаблонизатора и умение писать свои фильтры, а также тэги типов simple, inclusion и какие там еще есть. Насилие над админкой. Умение делать миддлверы для хранения и обработки состояний. Сигналы. Contrib.auth, contrib.session. Формы. Деплой, аспекты конфигурирования. Потом еще Django REST. А говоря простым языком - сделай пяток проектов (из них хотя бы один сложный достаточно) на ней, и постепенно все это само освоится. А лучше на яве оставайся, или на рельсу перекатывайся, джанго это легаси most of all (как будто что-то плохое).
#272 #641548
>>641492
self.__dict__.update(struct.__dict__) ?
#273 #641549
>>641547
Ах да, локализацию/интернационализацию забыл. Без нее будешь королем чуханов, но не удивляйся, если на реальном проекте увидишь прямо в коде моделей русские буквы.
#274 #641551
Может тут кто-нибудь скажет что лучше учить чтобы комбинировать с питоном, с или кресты и в чем разница?
#275 #641552
Может тут кто-нибудь скажет что лучше учить чтобы комбинировать с питоном, с или кресты и в чем разница?
#276 #641557
>>641548
Вот тоже вообще охуеть. Спасибо. Сколько же я не знаю.
#277 #641606
>>637851 (OP)
Дали тестовое задание:
Написать приложение на Django, где есть модель объявления(поля не так важны, хватит заголовка и описания). Есть возможность это объявление просматривать(добавлять, редактировать можно силами админки, например). Необходимо реализовать счетчик просмотров объявлений - счетчик должен учитывать какие пользователи уже просмотрели объявление, чтобы не накручивать просмотры. Механизм не должен нагружать систему. Проект выложите, пожалуйста, на гитхаб - так удобнее всего просматривать.

Вопрос в том как реализовать счетчик. Пока придумал так чтобы создать модель, Visits с количеством просмотров и внешними ключами на юзера и объявление. В настройках задать движком для сессий мемкешед или редис. И задать кронджоб чтобы, скажем, раз в день брать значения из хранилища и записывать их в БД bulk_create-ом. Но последний момент мне кажется проблемным. Например как избежать дублирования в момент записи в БД?
#278 #641687
Всё ж я туп как пиздец до этого ШАДовского курса Курсеры.
Если я его буду вяло проходить в комфортном для меня темпе, курсера лавочку эту не прикрорет? Ну т.е. можно проходить уже закончившийся курс или типа того?
На сертификат пофигу
56 Кб, 600x450
#279 #641691
>>641687
Не знаю как сейчас, года два назад закончившиеся курсы проходились только в не-интерактивном формате. Просто записанное видео/аудио, старые тексты, никто твои задания не проверяет да и отсылать их некуда. Разница как быть на паре или читать чужие конспекты.
#280 #641696
>>641687
>>641691
Если тесты автоматические, а не peer-graded, то всё можно проходить. Сколько курс провисит после окончания - зависит от преподавателей, но обычно либо несколько месяцев, либо до следующей итерации этого курса, если частый. А могут и вообще навсегда оставить.
#281 #641697
Есть набор фотографий, нужно их преобразовать так, чтобы один объект был всегда в центре фотографии. Насколько я понял, необходим opencv. Есть ли ещё варианты?
#282 #641708
>>641691
>>641696
Спасибо, парни!
154 Кб, 432x640
#283 #641727
>>641708
Господа.
#284 #641815
господа помогите пожалуйста
в торнадо есть готовый класс webSocketHandler
допустим есть код вида
[CODE]
class WebSocketHandler(tornado.websocket.WebSocketHandler):
def open(self):
log.info('Establishe connection')
clients.append(self)
self.write_message('{"dev":"rasp_serv","state":"connected"}')

def on_message(self, message):
log.info('Received from client: ' + str(json.dumps(message)))

if str(message) == "reboot2":
reboot2()
else:
ser_out_queue.put(message)

def on_close(self):
log.warning('Lost connection')
clients.remove(self)

def check_origin(self, origin):
return True
[/CODE]

и он не работает
то есть как не работает
мессага пришедшая с морды спокойно уходит ser_out_queue но сравнение message с "reboot2" не дает True почему то
хотя в логе "Received from client: reboot2" появляется
#284 #641815
господа помогите пожалуйста
в торнадо есть готовый класс webSocketHandler
допустим есть код вида
[CODE]
class WebSocketHandler(tornado.websocket.WebSocketHandler):
def open(self):
log.info('Establishe connection')
clients.append(self)
self.write_message('{"dev":"rasp_serv","state":"connected"}')

def on_message(self, message):
log.info('Received from client: ' + str(json.dumps(message)))

if str(message) == "reboot2":
reboot2()
else:
ser_out_queue.put(message)

def on_close(self):
log.warning('Lost connection')
clients.remove(self)

def check_origin(self, origin):
return True
[/CODE]

и он не работает
то есть как не работает
мессага пришедшая с морды спокойно уходит ser_out_queue но сравнение message с "reboot2" не дает True почему то
хотя в логе "Received from client: reboot2" появляется
#285 #641860
>>641815

>str(json.dumps(message))


>str(message)


Зачем это?
#286 #641863
>>641860
вот тоже хуй знает
код не мой
я сейчас пытаюсь разобраться как вообще это все работает
там со стороны морды сообщения в виде словарей приходят в основном
может в этом и дело
#287 #641866
>>641863
Ну если сообщения приходят, то просто посмотри сырое значение message.
#288 #641883
>>641866
у меня из диагностических средств только лог
в лог пишется "reboot2"
а как сырое значение посмотреть я хз
как нибудь так:

log.info('Received from client: ' + str(message)

?

но это все равно эвал до строки
#289 #641895
>>641883
Нет смысла в str оборачивать, просто message.
#290 #641906
>>641883
Сунь import pdb; pdb.set_strace() на нужную строку, запусти сервер и наживую смотри, что к чему.
#291 #641915
>>641906
Уж лучше import ipdb; ipdb.set_trace()
#292 #641920
>>641915
Одно и то же, только доп. зависимость вопрошающему ставить. Начнет использовать, тогда и стоит начать обмазываться всем этим.
#293 #641922
>>641906

>pdb


>RCSB Protein Data Bank - RCSB PDB


хотите чтобы мой скриптик заодно вам протеины посчитал лол
#294 #641937
Необходимо организовать доступ к одному мутабельному объекту из нескольких тредов. Как можно гарантировать, что они не обратятся и не начнут изменять его одновременно? Можно флаги всякие ставить перед началом работы, но ведь они могут одновременно выполнить это проверку 'if not obj_is_in_use:' и перейти дальше в код, начав всё ломать.
#295 #641949
>>641860
>>641895
убрал нахер все преобразования message и кнопки в морде перестали работать лел
зачем то видать это все же нужно
обожаю ковырять чужой код
#296 #641957
>>641949
А клиент в каком виде отправляет сообщение на сервер?
#297 #641958
>>641937
google -> mutex
#298 #641960
>>641957
в виде словарей в основном:

$('#reboot2').click(function(ev){
\t\tev.preventDefault();
\t\tsendMessage({ 'data' : 'reboot2'});
});

там jquery в котором я вообще не в зуб ногой но это в общем похоже на словарь
#299 #641961
>>641937
Или оно не может действительно одновременно выполниться? Просто у меня была ситуация, когда при изменении массива board в отдельном треде (данные по сети приходили), случалось такое:

>if board[j] < 5:


>...x = colours[matrix[j]]


>KeyError: 5


Прямо на следующей же строке кода!
#300 #641962
>>641960
[CODE]
$('#reboot2').click(function(ev){
\t\tev.preventDefault();
\t\tsendMessage({ 'data' : 'reboot2'});
});
[/CODE]
#301 #641992
>>641962
У тебя в функции on_message больше ничего нет, кроме логирования и блока if? JSON должен же где-то декодироваться.
#302 #642004
>>641992
если я правильно понимаю то json это такая форма записи объекта в виде текста
то есть декодировать его по сути не надо
если я послал словарь {'хуй' : 'пизда'} то мне и придет такой же словарь
или я не прав?
#303 #642011
>>641547
Спасибо, анон. Да в том то и дело, что питон нужен, именно практика, промышленная, т.к. потом хочу перейти в другую область девелопмента, где питон маст хэв почти.
#304 #642031
>>642004
Чтобы JSON объект преобразовать в dict, его нужно декодировать c помощью json.loads, например, иначе это будет просто строка. Ну или тупо c помощью eval.
#305 #642045
>>642031
то есть в моем примере если я присылаю на сокет {'data' : 'reboot2'} то в скрипте у меня будет не объект типа словарь а тупо строка "{'data' : 'reboot2'}"?
#306 #642052
#307 #642137
Какие есть конфочки с питон-кодерами? Чтобы можно было быстро вопрос задать, когда гугл не помогает.
#308 #642142
>>642137
https://www.python.org/community/irc/
Собственно, #python на фриноде - мейнстрим. 1789 человек сейчас.
#309 #642149
>>642142
Спасибо. Сто лет уже irc не пользовался, думал он помер уже давно.
#310 #642152
>>642149
Для обычного люда помер. А для всяких гиков основной инструмент наравне с мейл-листами.
#311 #642159
>>642152
Ну я уже вижу по списку каналов на фриноде, что там за аудитория тусуется.
#312 #642161
>>642159
Опенсорс там тусуется. А ты кого ожидал увидеть? Своих одноклассников?
#313 #642162
>>642161
Вот и заебись, что не одноклассники.
#314 #642191
>>637851 (OP)
Ребзи, сильно не пиздите тока.
Как самым простым способом отформатировать вывод вещественного числа по следующим положениям:
если вещественное не целое, то округление до 1 знака после точки. (например, '135.6')
если вещественное целое, то отбрасывать все что после точки вместе с ней самой. (например, '1124')
#315 #642203
>>642191
Не понял, что ты отбрасывать собираешься во втором случае, если число целое?
#316 #642205
Питоны, джангоеб репорт ин. Где можно набраться опыта, и попробовать для начала допиливать опенсорс проекты?
#317 #642207
>>642203
допустим, число
x=double(input())
#319 #642218
>>642215
бля-бля-бля
x=float(input())
конечно.
простите великодушно, учу 3 дня
#320 #642219
>>642207
x = float(input())
x = int(x) if x.is_integer() else x
#321 #642221
>>642219
спасибо
а в одну строчку, применяя там какие-нибудь спецификаторы форматирования нельзя оформить вывод таким образом?
#323 #642229
>>642221
'{0:g}'.format(float(42.0))
#324 #642241
>>637851 (OP)

Опытный анон, начал изучать питон. За какую минимальную работу новичок может получить деньги?
К чему стремиться?
#325 #642242
>>642241
hh.ru/upwork.com
#326 #642245
Решил попробовать в третий питон(с джанго), настроил на локалхосте проектик, но теперь нужно завести его на старом-старом дебилиане где питон версии 3.2 ImportError: cannot import name find_spec, обновлять этот хлам я ебал.
Как лучше прикрутить свежий питон? лучше собрать или перенести виртуальное окружение с локалхоста?
#327 #642256
>>642245
Возьми тарболл и поставь его в /opt/, пропиши в path и pythonpath. Делов то.
#328 #642260
>>642245
Пошукай LXC / Docker конетейнеры
#329 #642265
>>642229
От души
#330 #642270
>>642245

virtualenv же.
#331 #642275
>>642245
pyenv ещё.
#332 #642276
>>642270
Не сработало, bin/preactivate почему-то не видело, уже собрал 3.5.1 в /opt.
#333 #642321
>>642276
ну там не preactivate. только activate и deactivate
#334 #642339
Может кто знает какую статью по PySide, где быстро описывается изменение стилей виджетов? Мне надо простенький гуй запилить в плане layout'a, но хочу чтобы он был красивый внешне.
#335 #642341
>>642339
Хотя похоже надо гуглить в сторону qss фалов.
sage #336 #642350
>>638837
Все ещё актуально?
67 Кб, 604x453
#337 #642380
>>637851 (OP)
Аноны, помогите, подорвался на элементарном.

def test_out():
x = 1
y = 2
t = 3
z = 4
return x,y,t,z

def test_input(x,y,t,z):
\tprint (x,y,t,z)

print (test_input(test_out()))

TypeError: test_input() missing 3 required positional arguments: 'y', 't', and 'z'

test_out возвращает кортеж (1, 2, 3, 4). Почему он не скармливается функции в качестве аргумента?
#338 #642381
>>642380
Что-то так совсем печально. Больше так не буду.
this
http://pastebin.com/x38sBdKM
#339 #642382
На этой борде чтоле нет monospace для кода?

>>642380
test_out отдает кортеж, который становиться первым аргументом к test_input, то есть x = (x,y,t,z). Надо test_input(*test_out()), гугли starargs.
#340 #642384
>>642382

> становится

#341 #642385
>>642382
>>642384
Спасибо. Я вроде и пробовал подобное, но при объявлении функции в параметрах, а нужно было в аргументе.
#342 #642420
В проекте на втором питоне наткнулся

> def add_points((x1, y1), (x2, y2)):


Кортежи как аргументы? Это что за магия, где почитать?
Алсо, на третьем не работает, SyntaxError
#344 #642431
>>642425
А вот так можешь?
def add_points((x1, y1), (x2, y2)):
return (x1 + x2, y1 + y2)

Вариант
def f(a, b):
\treturn (a[0] + b[0], a[1] + b[1])
не принимается
#347 #642462
>>642453
Благодарю

>>642455
Вы успешно решили тестовое задание, мы обязательно перезвоним.
43 Кб, 788x500
#348 #642463
55 Кб, 976x445
#349 #642583
39 Кб, 800x474
#350 #642598
Отговорите от изучения рельсоруби? Друзья рубобляди переманивают домоседа-удаленщика к себе в офис есть вариант халявного собеседования и адекватной зп(сейчас за еду работаю), не могу устоять.
#351 #642602
>>642598
Иди, раз предлагают. Деньги не пахнут.
#352 #642604
Течет приложение, которое не рассчитано на постоянную работу. Запустил - тыкнул две кнопки - убил. За 30 минут на целый метр растекается. Посмотрел через memory_profiler - инкремент по мемори только в try except с ресайзом окна между ними. Чего там течет - хуй знает. Стоит искать и фиксить или ну его?
А, еще оно интерфейсится с сишной либой через ctypes. Может она течет?
#353 #642608
>>642598
Изучаешь рынок, принимаешь решение. То, что тебе предлагают может перепасть раз в жизни, и после ухода оттуда велика вероятность не найти своим знаниям применения. По любой статистике работы на питоне больше. А еще больше на пхп.
#354 #642609
>>642598
Ну, судя по типичным проблемам с трудоустройством обозначенных в соседних тредах имеем такую ситуацию — в IT массово появляются обычные проблемы при трудоустройстве, которые есть в других отраслях.

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

Меня бы кто так взял, но я чет без рубидрузей.. Да и вообще.. лягуха.жпг
6 Кб, 252x116
#355 #642823
Рандом в питоне такой рандомный.
#356 #642830
>>642598
Очень напоминает метод набора в хипстерские стартапчики. У них денег нет нанимать сотрудников как обычно, поэтому они вербуют через знакомых, обещая молочные реки. Первый один-два месяца платят как обещают, потом начинаются проблемы, задолженности по зарплате и прочее. А через полгода обычно стартап закрывается. Хотя бывает по разному.
3 Кб, 196x133
#357 #642831
>>642823
И не говори.
#359 #642848
>>642823
Потому что это псевдорандом, дегенерат. Хочешь настоящий - используй true random. И не выебывайся тут.
#360 #642866
Чего вы прорвались?
sage #361 #642870
>>642823
Ну и еблан.
#362 #643033
Как в django узнать, что пользователь перешел по ссылке? Т.е. что она была уже использована?
114 Кб, 792x1046
#363 #643087
#364 #643109
>>642598
Иди не раздумывая
#365 #643128
>>643109
Нищий стартапщик, плиз.
#366 #643129
>>643128
Дажи если старпап невзлетит, он там изучит ruby - более успешный язык.
#367 #643137
>>642830
Меня тут недавно звали в проект, обещали молочные реки и выход в Сочную Кремневую Долину. Выбор инструментария не особо важен, но в собираемой команде питонобляди, что мне и подходит. Да только вот у меня проблемки были со временем да и не ведусь я на такие обещания, а на деле чуть ли не благотворительность. Лучше потратить время на реальные вещи, а не заоблачные фантазии и чей-то пиар. А так то с голода не помираем, работы хватит.
#368 #643138
>>643033
Видимо, должен прийти http-запрос с адресом ссылки.
#369 #643142
>>643129
Это тебе в рубитреде сказали? Сходи вакансии посмотри.
#371 #643145
>>643129
Зачем что-то учить без прикладного значения? Да и что там учить? Особенности синтаксиса и построения конструкций? Если не найти дальнейшего применения, то всё это очень быстро забудится. А вакансий меньше, следовательно простой может быть больше. Сомнительная смена шила на мыло, в общем.
#372 #643151
>>643129
Ruby - однодневка для хипстеров, которая уже мертва и заменяется го, который тоже недолго просуществует. А вот питон как был востребован, так и остался.
#373 #643152
>>643151
Питон - однодневка для хипстеров, которая уже мертва и заменяется го, который тоже недолго просуществует. Питон как не был востребован, так и остался.
26 Кб, 538x587
24 Кб, 557x495
30 Кб, 453x547
35 Кб, 734x404
#374 #643154
>>643144
hh.ru по ДС:
Программист python - Найдена 431 вакансия
Программист ruby - Найдено 153 вакансии

Работа Яндекс:
Программист python — 101 вакансия в Москве
Программист ruby — 60 вакансий в Москве

upwork.com:
Python Jobs 602 were found
Ruby Jobs 387 were found

Первые три скрина - stackoverflow developer survey, четвертый - tiobe index.

Если ты переходишь с питона чисто ради работы, а не личных соображений, то переходить надо на явный мейнстрим вроде жабы/пхп, но никак не на маргинальный язык одного фреймворка с количеством работы в джва раза меньше питона, у которого тоже с работой не сладко. Два стула, короче.
#375 #643155
>>643154
Python обогнал PHP?
#376 #643156
>>643154
Несколько секунд порадовался, что когда-то провалил собеседование на ror разработчика.
#377 #643157
>>643154
Руби это элитный язык. В нем богатые возможносты метапрограммированяя, создания DSL. Другая филасофия.
#378 #643158
>>643155
В базовой поставке каждого дистрибутива.
#379 #643160
>>643156
А потом ты провалил собеседование на питон-разработчика?
#380 #643161
>>643157
Хаскель это элитный язык. В нем богатые возможносты функцыонально программированяя, создания манад. Другая филасофия.
#381 #643162
>>643160
Нет, на питон взяли.
#382 #643163
>>643160
На питон разработчиков берут дебилов которые не осилили раби
#383 #643164
>>643163

>раби

38 Кб, 444x333
#384 #643165
60 Кб, 274x329
#386 #643170
#387 #643426
Учу джанго по этому http://djbook.ru/rel1.8/intro/tutorial01.html туториалу. Там ближе к концу работа с базой и команда q.choice_set.all(). Вопрос - откуда взялось свойство choice_set? Раньше оно не упоминалось.
#388 #643427
>>643426
Когда ты делаешь ForeignKey(Model2) у Model2 на которую ты ссылаешься появляеться это свойство. В которой перечислены объекты, которые ссылаются на этот инстанс Model2.
По-умолчанию оно называется model1_set, но можно задаться произвольное имя задав related_name у ForeignKey
#389 #643430
>>643427
Понял, спасибо за помощь!
#390 #643469
Бл. я голову сломал как написать Hello word!? Есть vps, на нем CentOS7, Python, установил Apache и mod_wsgi (yum install mod_wsqi пральна?) Как теперь заставить апач обрабатывать скрипты py
#392 #643479
Питанон, у меня не по кодированию вопрос.
Какие у тебя карьерные планы на 30 лет? Что ты хочешь делать: перекатываться, становиться менеджером, открывать свой дело или что?
Признаем, что потолок у нас, может и повыше, чем у фронтэндеров и пхпшников, но всё равно низкий. Попал я, как в несвежей пасте, в хайлоад-хуйлоад с асинхронными серверами, а куда стремиться дальше?
#393 #643480
>>643479

>своё


фикс
#394 #643482
>>643479

> становиться менеджером, открывать свой дело


Для этого нужны немного отличные навыки и способности, не как у быдлокодера-аутиста.
#395 #643483
>>643470
но uwsgi это же не mod_wsgi для апача или я чего не понимаю
#396 #643484
>>643483
Почитай что такое wsgi или сначала что такое fastcgi.
#397 #643487
>>643482
Йеп. Придётся ли их развивать, чтобы не остаться таким же аутистом после 30?
#398 #643489
>>643487
Ну попробуй, если получится и если чувствуешь чтоб быдлокодинг заебывает.
Многие перекатываются в менеджмент. На быдлохабре были статьи на эту тему - поищи.
#399 #643493
>>637851 (OP)
Слишком ли мозгозатратное занятие написание приложений для андройд на языке python?

Хочу обмазаться этим замечательным языком
#400 #643494
>>643493
На андроиде пишет приложения на языке java. Качать android studio и обмазывайся.
киви всякие это не серьезно - тормозит и ничего толкового не сделаешь - так поиграться.
#401 #643496
>>643479
а если мне 30 лет и я только решил изучать питон? работал одменом. потом увлекся T_SQL, переквалифицировался одмена БД, начиная с младшего сотрудника и заканчивая опытным разработчиком. Сейчас стал изучать python. Одним и тем же становится скучно заниматься.
#402 #643499
>>643496
У тебя горизонтальная карьера, так можно бесконечно перекатываться. Если тебя это устраивает, то почему нет.
Я в 26 уже разочарованный, ни за какой новый ЯП/технологию уже браться не могу.
#403 #643500
>>643499
Мне кажется, это дискуссия не по теме треда. А может и вообще раздела.
#404 #643504
>>643494
Жаль, думал на python можно толковое приложение написать. Синтаксис java слишком сложен для меня.
#405 #643518
>>643499
Почему же. У кого Питон основной язык, карьерный путь примерно одинаковый. Хочу послушать мнения коллег по цеху.
#406 #643519
#407 #643523
Что означает подчеркивание в данной нотации: raise ValidationError(_('Invalid value'), code='invalid') ? Гугл говорит, что в интерпретаторе _ хранит последнее вычисленное значение. А что хранится здесь? И почему это что-то принимает параметры?
#408 #643526
>>643523
Иногда используется для интернационализации. Думаю тут именно оно.
#409 #643527
>>643484>>643469
Все разобрался, но почему так все через жопу. Почему в 21 веке нету инструментов чтобы включил и заработало.

//и да, я быдлоадмин последний раз писавший на delphi
#410 #643528
>>643526
Точно, оно. Спасибо.
#411 #643551
>>643494
Киви тормозит не больше жабьих приложений. Запускается долго, там целый букет зависимостей. Ну и да, апи покрыт не полностью.
#412 #643556
Это конечно офтоп из офтопов, но разве на ГО писать под ведро/иос ещё нельзя? Я вроде слышал что чуть ли корпорация добра от жава сдк в пользу ГО отказываться не собирается?
А сам ГО он же блин как компилируемый питон простой как двери
#413 #643559
>>643556
Костылями и подпорками. Официальной поддержки нет. Вы вообще зря думаете что Го это такой "официальный язык компании" как С# у Микрософта или Свифт у Яббла. Го - такая же любительская поделка как и питон, которую пилят в свободное время. Просто большинству его начальных разработчиков посчастливилось работать в гугле. Отсутствие человеческой поддержки языка хоть где-нибудь кроме красноглазых юникслайков - первый показатель.
А ведроид переходит со своей жабы на openjdk, потому что патентами давить заебали. Го на горизонте нет.
#414 #643561
>>643527
Устаревшее легаси говно. Зачем тебе вообще этот апач и wsgi? В 21 первом веке уже сделаны классные инструменты, чтобы включил и заработало. А ты до сих пор говно жрёшь.
#415 #643566
>>643561

>классные инструменты, чтобы включил и заработало.


ВКЛЮЧАЕШЬ
@
НЕ РАБОТАЕТ
#416 #643577
>>643561

>классные инструменты


Ну расскажи что за инструменты, я внимаю.

Так как я нуб в программировании решил поучить ЯП, вот выбрал питон. Нужно один бакенд написать для себя.
#417 #643592
>>643527
nginx + gunicorn, не?
#418 #643667
>>643577
tornado, twisted, aiohttp…
#419 #643734
В django класс задаётся вот так:

class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')


Вопрос: почему так, а не

class Question(models.Model):
def __init__(self):
self.question_text = models.CharField(max_length=200)
self.pub_date = models.DateTimeField('date published')
#420 #643757
>>643734
Для того, чтоб работала магия на метаклассах, и без интроспекции можно было понять, какие поля есть в модели, провести валидацию, создать табличку в БД, построить ModelForm. Если интересно, http://www.moscowpython.ru/meetup/9/django-models/
24 Кб, 460x272
#421 #643768
Сап /pr/
Возникла необходимость массово удалить файлы из папки, если есть список имён.
Написал программу, которая сравнивает по очереди имя из списка с каждым именем файла из папки, всё отработало на ура.
На днях снова появилась подобная задача, но программа наотрез отказывается работать. После долгих проверок и костылей\переустановки всего питона выяснилось, что программа перестала циклично проходить по именам файлов в директории. Переписал с нуля, но и это не работает. Анон, помоги разобраться.

перед этим кусочком в f = open('list.txt', 'r')
List.txt выглядит так:
1.jpg
2.jpg
3.jpg

В папке img лежа три одноимённых файла.

>>> os.listdir(os.getcwd()+'/img')


['1.jpg', '2.jpg', '3.jpg']

Следовательно, питон их видит.

>>> for k in f:


\tprint(k)

\t
1.jpg

2.jpg

3.jpg

Файл тоже читается.

Дальше простой код, проверяющий совпадение имени файла:

>>> name


'3.jpg'

>>> line


'3.jpg'

>>> name = line


>>> type(name)


<class 'str'>

>>> type(line)


<class 'str'>

>>> name==line


True

Эти шаги выполнены вручную, данные совпадают по типу и по названию, но питон с этим не согалсен. Причем выполнние программы пошагово работает.
24 Кб, 460x272
#421 #643768
Сап /pr/
Возникла необходимость массово удалить файлы из папки, если есть список имён.
Написал программу, которая сравнивает по очереди имя из списка с каждым именем файла из папки, всё отработало на ура.
На днях снова появилась подобная задача, но программа наотрез отказывается работать. После долгих проверок и костылей\переустановки всего питона выяснилось, что программа перестала циклично проходить по именам файлов в директории. Переписал с нуля, но и это не работает. Анон, помоги разобраться.

перед этим кусочком в f = open('list.txt', 'r')
List.txt выглядит так:
1.jpg
2.jpg
3.jpg

В папке img лежа три одноимённых файла.

>>> os.listdir(os.getcwd()+'/img')


['1.jpg', '2.jpg', '3.jpg']

Следовательно, питон их видит.

>>> for k in f:


\tprint(k)

\t
1.jpg

2.jpg

3.jpg

Файл тоже читается.

Дальше простой код, проверяющий совпадение имени файла:

>>> name


'3.jpg'

>>> line


'3.jpg'

>>> name = line


>>> type(name)


<class 'str'>

>>> type(line)


<class 'str'>

>>> name==line


True

Эти шаги выполнены вручную, данные совпадают по типу и по названию, но питон с этим не согалсен. Причем выполнние программы пошагово работает.
#422 #643771
>>643757
Спасибо, вроде понял.
#423 #643774
>>643734
Ну и семантически: во втором случае ты задаешь конкретные значения атрибутов объекта-экземпляра Question, в первом - описываешь статические поля класса
#424 #643778
>>643768
for i in $(cat list.txt); do rm "$i"; done
#425 #643791
>>643768
Ты хоть код полностью показал бы, а не куски.
Кстати, на пике ты сначала определяешь name как line, а потом сравниваешь, что не имеет особого смысла.
#426 #643794
>>643768

> for line in f


У тебя в line будет содержаться символ конца строки \n
Попробуй if name == line.rstrip():
#427 #643797
>>643794
После цикла 'for k in f:', который он предварительно выполнил, там пустая строка.
#428 #643799
>>643768
И, ты проходишься по строкам из файла внутри цикла. Это сработает только один раз. На второй инерации уже нет.
Тебе надо сначала скачать содержимое файла в перменную. Например
lines = open('list.txt').splitlines()
А потом уже for f in lines делать каждый раз
126 Кб, 800x1067
#429 #643807
>>643778
>>643791
>>643794
>>643797
>>643799
Ананасы, спасибо большое. Добра вам.
#430 #643816
>>643807
Какой некрасивый анус.
#431 #643827
>>643816
просто разработанный
#432 #643840
>>643827
Я бы сказал, что анус все-таки "раздолбанный". Между разработанным и раздолабнным анусом большая пропасть.
#433 #643842
>>643840
А можно увидеть пример этой разницы?
#434 #643853
>>643842
Процесс раздалбливания деструктивный процесс, в то время как разработка - нет.
#435 #643873
Да нормальный анус, блять.
#436 #643903
>>643816
Нормальный, но раздолбанный.
#437 #643920
Интересная итт кореляция питон разработчиков / экспертов по состоянию ануса
#438 #643924
>>643920
Не нужно быть экспертом чтобы заметить очевидное.
#439 #643972
Превратили питонотред в филиал /ga
#440 #643980
>>643972
Ньюфаг? Он всегда им был.
#441 #644250
>>642604
Таки течет сишная либа. Очень жаль, я надеялся больше никогда не лезть в этот ад.
#442 #644336
Ребята, а вот эта хуерга например:
if (какое-то простое сравнение) and (очень ресурсоёмкое, долгое сравнение)

в случае если простое сравнение не выполняется, интерпитатор будет ли сложное проверять?
и ясен пень можно всё вертикально переписать, или как вложенное сравнение
#443 #644339
>>644336
не будет.
#444 #644342
>>644339
Супер, спасибо!
#445 #644352
>>644336
нет, short circuit сработает, далее вычисляться не будет
#446 #644409
>>644336

>if (какое-то простое сравнение) and (очень ресурсоёмкое, долгое сравнение)


может быть там or?
чому это true and false должно выдать true. Типа интепретатор дохуя быстрый, быстрее Флеша?)
#447 #644414
>>644409

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


а, туплю сори
19 Кб, 603x413
16 Кб, 807x162
27 Кб, 671x253
#448 #644438
Задачка с codewars на округление до двух знаков после запятой.
Подскажите, как округлить допустим число 2.65 до 2.7?
round не помогает (пример с 2.675 в доках питона аж, лол)
math.ceil округляет только до ближайшего целого

по ссылке из документации перешел, там говорится про представление числа, мол 2.675 это на самом деле 2.6749... Но я так и не понял как мне округлять
#449 #644442
Аноны, объясните идиоту про атрибут self в функциях, сам нифига не въезжаю.
#450 #644453
Боже, как не хочется пилить ГУИ то. Что-то меня этот PySide пока не впечатляет. Примеры прикольные, но делать самому похоже очень геморно. Да и документация какая-то никакая.
#452 #644481
>>644438
Юзай decimal.Decimal
#453 #644486
>>644470
А есть разница?
#455 #644507
>>644486
Хотя бы qt5.
#456 #644553
>>644470
>>644507
Зачем ты советуешь если не в теме? pyside точно так же поддерживает qt5. Разница между pyqt и pyside только в команде разработчиков, pyqt - левые чуваки, pyside - команда qt, которые пытались прогнуть авторов pyqt под себя, потом еще по поводу лицензии посрались, плюнули и запилили pyside. А технической разницы между ними около нуля.
#457 #644562
>>644453
А ты посмотри биндинги к ГТК, раз qt не нравится - https://wiki.gnome.org/Projects/PyGObject
Но больше выбирать не из чего. Стула только два.
#458 #644578
>>644562
Ещё есть wx, fltk и tkinter как минимум. киви, pygame и всякие надстройки над остальными.
Ну и нативные контролы под винду и osx вроде есть.
#459 #644610
>>644487
>>644481
Спасибо аноны. С умножить и разделить разобрался, клевая магия) завтра про Decimal почитаю, сегодня уже не врубаюсь
4 Кб, 436x43
#460 #644615
>>644610
Demical нужен чтобы хранить числа, без ошибок округления float. Например деньги - если их хранить во float, у тебя погут потеряться центы и ошибка будет нарастать - провел миллион операций и потерял тыщу баксов. Там ошибки недопустимы.
Ещё есть модуль fractions - позволяет хранить дроби и операции с ними делать.
#461 #644675
>>640714
1. Inspect кода не зашквар
2. Глобальные переменные в web-фреймворке - зашквар и уебанство. У меня всё жопа болит от этих ваших уебанских фласко-боттлов
#462 #644679
>>640714
Нет это говно полное.

> Функция не должна получать аргументов в явном виде


почему? зачем это убожество с глобальными перменными и магическим состоянием каким-то? Почему в обработчик запроса просто не передавать объект типа request или cgi если хочешь.
#463 #644680
>>644675
Вообще я такой изврат когда-то и в джанге встречал
https://github.com/svetlyak40wt/django-globals
http://nedbatchelder.com/blog/201008/global_django_requests.html
#464 #644702
>>644675
Шо правда, то правда. Бесит это говно.
>>644442
У простых функций нет селф, он для методов класса. Метод класса принимает первым параметром самого себе, по соглашению это селф. http://pastebin.com/YpEVJ3eq
#465 #644705
>>644702

> Метод класса


Метод инстанса.
#466 #644709
>>644578
Все это либо легаси, либо выглядит как говно. Если стоит цель написать портабельный гуй который не выбивается из общей темы и не выдирает глаза - только qt/gtk. Если нет - tkinter самый питоничный, хоть и страшный.
#467 #644710
>>644705
Ну да. Не хотел запутывать.
#468 #644725
>>637851 (OP)
Анончики, а что есть джуниор? Когда настает тот момент, когда на работу проситься можно? Даже, например, бесплатно? Всегда ваш, Неофит Ниофитовичь.
#469 #644730
>>644725
Как только в синтаксисе разобрался, написал хелло ворлд и простенький каркулятор.
#470 #644731
>>644730
Это ирония?
люблю веб2пу, могу чуть в дажнго и неплохо во фласк, умею в скрапи, сайпи, нампи, пандас, матхплот и тд - 2,5 месяца учёбы питона по 1-3 часа в день
#471 #644737
>>644731
Уже можешь пытаться в джуны.
Вообще это все от компании зависит. Для некоторых джун - мартышка способная стучать по клавиатуре. Они ее берут и обучают в нужную сторону, а мартышка получает только на еду и проезд. А другие могут миддла посчитать джуном, чтобы платить поменьше.
#472 #644738
>>644731
ДС? Ищи работу на 80к
#473 #644741
>>644738
Без опыта работы на 80к не взлетит.
#474 #644746
Почему оно не заврешается корректно?
http://pastebin.com/rBmT02mE

Вызов такой:
thread1 = DefaultThread()
thread1.start()
#475 #644797
>>644746
Обработка сигнала по какой-то причине откладывается до завершения треда. В третьем проблемы вроде нет. Вероятно релейтед - https://bugs.python.org/issue5315
#476 #644805
>>644746>>644797
В качестве хака можно сделать while thread1.is_alive(): time.sleep(1), тогда обработка не откладывается.
#477 #644826
>>644737>>644738
Любая макака, как мне кажется, работает более интересную работу чем я - инженер ПТО. Звонки, тупорылые пёзды-сметчецы, менеджеры уровня в лучшем случае бригадира и тд ЗАТО ПО СПЕЦИАЛЬНОСТИ
Что до зп - мне 20 тыр чистыми будет за радость, при условии что ещё и аренду однушки простой покроют, лишь бы съебать из моей ултрамухосрани.
27 лвл

Если вы правда думаете что этого достаточно что бы хоть куда-нибудь влезть - чёрт, да я пойду резюме катать тогда, я то думал мне ещё годик-полтора так учить надо будет
#478 #644828
>>644826
Бро, как занималяс, по каким книгам учил, что делал?
#479 #644829
>>644828

>занималяс


занимался

slffx
#480 #644838
>>644828
кодекадеми - укус питона - вглубь питона - доусон - синк пайтон - по всем сайпи/пандас/тд - туториалы только, зато все что видел - по фласку/джанго/веб2пи - тоже туториалы официальные, въехать по ним только в веб2пи успел, для джанго/фласка мне оказалось недостаточно да как-то не успевал уже
инфу у меня хуева гора накопилась той что хочу освоить, но блядь времени / опыта мало, в итоге двигаюсь медленно
учил просто: все задания от корки до корки + всё что в голову приходит - всякие аутомейт зе боринг стаф типа через фтп поднятое на телефоне выгружать с андроидофона говно в дропбоксы при изменении содержимого папки и тд до парсинга авито через селениум на предмет аренды квартиры в нужном мне районе мухосранска
#481 #644850
>>644826
ДС город дорогой. Жить на 20к - ну хуй знает. И если ты сюда приедешь без заранее найденной вакансии, то придется искать на месте, прожигая деньги на съем однухи и не работая. Месяц-два. На питоне не так уж много вакансий (>>643154), имеется шанс ничего не найти, просрать деньги и позорно съебать.

Ну и вообще, нищенкам снимать лучше на двоих. С таким же гиковатым хеккой и в жопы долбиться
#482 #644852
>>644850

>На питоне не так уж много вакансий


А на что можно смотреть, если цель - выживание вообще?
#483 #644856
>>644553
Между ними есть разница, помимо авторов и лицензий. PyQt стабильнее и лучше поддерживается, твой pyside2 с его пре-альфой и рядом не валялся.
#484 #644862
>>644852
Очевидный 1C похапе. Возможно даже в твоем подзалупинске вакансия есть. Но жрать говно ради выживания - хуй знает.
#485 #644865
>>644862
Но живут же люди и работают нормально.
#486 #644889
>>644865
Гейшлюхами тоже живут.
#487 #644893
>>644889
Это сложнее, чем кодить на пыхе.
#488 #644934
Есть какая-нибудь тулза, которая отслеживает зависимости в питон-проекте? Хочу причесать конфиги, но нужен инструмент, контролирующий, что где-то в другом месте не пропадет из области видимости та или иная глобальная переменная.
#489 #644955
>>644893
И чем на питоне тоже, чего уж там.
#490 #645055
>>644934
pycharm наверное такое умеет
#491 #645067
>>644797 >>644805
не, тут проблема не в этом
https://i.imgur.com/tC5OsE1.jpg
он пишет, что остановился и def run по идее завершился, но сам поток еще жив.
#492 #645096
>>645067
Значит у нас поведение различается. Ничем не помогу. Я бы проверил как оно поведет себе с .join(). Можешь еще sys.exit вызывать самостоятельно.
#493 #645150
>>644850
Я не ограничен одним ДС. Более того, пока я бы туда и не хотел (надо же ещё к чему-нибудь стремиться)
А так сгодится как Екатеринбург, так и Тбилиси, так и Киев.
20 это в два раза больше чем чистыми я так получаю, мне точно хватит их где угодно.
#494 #645157
>>645150
ДС говно. Киев намного ламповей - не такой огромный, зарплаты как в ДС, нередко платят в долларах, цены намного дешевле особенно жилье, хавка, проезд.
#495 #645171
Но на самом деле лучше всего работать на аутсорсе, и получать в баксах. Влажные мечты.
#496 #645178
>>645157
Угу, только у нас с вакансиями для питонистов тоже не особо айс. Ну разве что какой-то пром.юа.
#497 #645184
try:
result = Users.objects.get(pk=4)
exept:
result = False


Ну вот нахуя? Почему бы не возвращать False или 0, когда нет результатов? Зачем сразу исключение бросать и вынуждать городить конструкции из try/exept?
#498 #645188
>>645178
Ну у вас вообще какая-то java-аутсорс-ориентированная страна.
В ДС ваканский больше, но и соискателей больше и требования ебанутые. И есть такая хуйня.. Вот мне сейчас написали из одной конторы - у них офис находится в другом конце города прямо возле мкада и далеко от метро. Машины у меня нет, добираться туда часа 2 в одну сторону. И такие очень часто, тупо слишком далеко.
И есть такая тема, что, например, конференции по питону появились раньше в Киеве, чем в ДС. В ДС их не было вообще несколько лет назади. Все летали в Киев.
#499 #645190
>>645188
У нас на самом дене от города зависит.
Ну как-бы ява, решетка и пхп, для Киева все.
Хотя есть ваканскии конечно. но блядь там требования щас что я ебал. А вот когда пром.юа только заводился там чуть ли не массово набирали джунов питонистов.
В Одессе и Харькове со стартапами всякими больше дела имеют потому там еще можно поискать.
А про питон конфы не знал. Забавно.
#500 #645192
>>645190
Лет 10 назад в жж завлекали в Одессу из ДС питонистов в какую-то контору. Типа зарплата поменьше, но тепло, море и дешево. Пара человек вроде согласилось.
#501 #645195
>>645192
Ну лет 10 назад так и было, щас зарплаты уже выровнялись в этой сфере. Ну и после всех трат в Украхе денег на руках больше остается. Потому не понимаю, хули еще все не свалили?(ну по крайней мере до войны)
#502 #645196
>>645195
Из рашки в украху? Ну тут есть много факторов. Хотя некоторые так делали типа дауншифтинг. Но редко.
#503 #645197
>>645196
Да, для девелопера по идее как раз одни плюсы.
Деньги у него те же, а то и больше.
Развлекухи в ДС-ах те же и дешевле. Или я чего-то не вижу?
#504 #645198
>>645195
Некоторые даже от работы в Норвегии и Германии отказываются, что уж тут про украху говорить.
#505 #645200
>>645198
Ну про Европу то понятно, тут ты король жизни с большим доступом к потреблению, а там после налогов типичный работник.
#506 #645204
>>645192
Черное - одно из самых грязных морей, тащемта. Но да, хоть теплее чем в ДС.
#507 #645205
>>645197
Ну это чисто моё имхо, но:
- Ваканский не так много
- Условия труда не всегда обеспечены типа: комфортный современный офис, белая зарплата(чтобы можно было кредит взять и стаж и всякая хрень типа если уволят можно пособие получить), мед.страховка, всякие спортзалы в офисе.
- Нужен вид на жительство или какая-то рабочая виза я хз, но это лишний гемор.
- Нельзя жить с мамкой или в своей квартире, если есть.
- У многих ипотеки и прочее
- Медицина и чиновники и всякое такое ещё хуже чем в рашке и все хотят взятки за всё, а не все привыкли и умеют их давать
- Просто переезд для многих стресс, друзья всякие опять же останутся в родном городе.
- Не всегда доброжелательное местное население. Могут подъебывать за мааасковский акцент и т.п.
- Если заводить трактор, то можно выбрать страну получше. Или вообще фрилансить из какого-нить Таиланда, что многие и делают.

Не всё это важно и не для всех, но всякие такие моменты есть
#508 #645206
>>645204
Главное - близость. Обычно на всяких курортах купаются как ебанутые только туристы, аборигеном вся эта доступность моря-окияна до пизды.
#509 #645208
>>645197
Ещё есть такой момент - в Украине огромный провал в зарплатах у айтишников и неайтишников. Население прямо скажем нищие. И это создает дискомфорт - ты превращаешься в этакого мажорчика, на которого косо смотрят потому что он покупает нормальный вискарь в магазине, а не бормотуху.
#510 #645209
>>645206
А какие профиты от его близости, если не купаться? Только доебистые туристы, шум и грязь. Даже рыбу из этой лужи стремно есть.
#511 #645210
>>645184
Не питонично, тебе в го. Алсо, except Exception:.
#512 #645211
>>645204
Да похуй, я купаться не люблю. Но в городе возле - моря морской воздух, там дышиться намного легче. И просто красивый вид на море.
#513 #645212
>>645209
Более мягкий климат. Влажность воздуха осне хорошо влияет на кожу и легкие.
#514 #645215
>>645208
Прям, как в Беларуси. Только тут не только смотрят, но даже поговаривают, мол, ИПшников раскулачили, пришло время у айтишников все отобрать и раздать остальным. Даже кабмин в прошлом году такую тему задвигал.
#515 #645216
>>645184
В большинстве случаев, то что нужно get_object_or_404
Потому что если объект не найден, то и делать нечего.
#516 #645219
>>645184
Ещё есть objects.get_or_create
И ты можешь сделать тупо Objects.filter(pk=4).first()
#517 #645220
>>645205
Хмммм...Крайне интересно, я прокоменчу если что.
- Для синьйоров и хороших миддлов всегда есть.
- Уже лет 5 как все по этой схеме. И спортзалы, и в белую(через ЧП) и кредиты доступны, офисы.
- Дык не нужно же, просто раз в 3 месяца выезжай домой и заезжай назад. По крайней мере так было.
- Согласен - минус.
- Тут тоже согласен.
- Медицина решается мед.страховкой, а так ты с чинушами практически не взаимодействуешь.
- Согласен, есть такое.
- Акцент затирается через 2 месяца нафиг, лол.
- Тайланд щас не настолько дешев как Украха, хотя да, тут 50 на 50.
#518 #645224
>>645208
Есть такое у всякого пьяного быдла. Но пока все перекрывается воем гражданского общества - "Вы хотите что-бы страна совсем отстала?! Не лезьте блять к айтишникам. Они наша опора в новом времени и повышают конкруентноспособность страны!"
#519 #645231
>>645220

> просто раз в 3 месяца выезжай домой и заезжай назад.


Но ты не можешь находитсья в стране более 6 месяцев в год в сумме. И не можешь легально работать. И ты не резидент - ты даже карточку в банке завести не имеешь права.

> Акцент затирается через 2 месяца


Если ты подросток то да. Во взрослом состоянии уже нет. Меня на Украине сразу "выкупают". Например девка продавщица в магазине меня каждый день передразнивала аакая когда я что-то покупал и ржала. В один день я сказал "да ты заебала, хватит глумиться, что я тебе сделал" она такая "да ты шо ты мне нравишься наоборот". т.е. вроде и не по злому но как-то всё равно
#520 #645232
>>645224

> Они наша опора в новом времени


И они правы, айти работает на аутсорс, а это источник валютной выручки.
#521 #645236
>>645232
Ну дык никто и не спорит, еще бы налогов больше чем 4% с ай-ти собирали, лол.
>>645231

> Но ты не можешь находитсья в стране более 6 месяцев в год в сумме. И не можешь легально работать. И ты не резидент - ты даже карточку в банке завести не имеешь права.


Ну может и так. Гуглить надо.

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


Надо было затянуть в подсобку и выебать, лол.
#522 #645243
>>645205

> Могут подъебывать за мааасковский акцент и т.п.


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

Коренной ДСовец
#523 #645245
>>645243
Так я сам не растягиваю так карикатурно и нормально говорю. Но хохлы всё равно ЧУЮТ.
#524 #645250
>>645245
Разговаривал с украинкой, вроде нормально все, но она сказала потом, что у меня очень сильный русский акцент, лол. Сам сибиряк, если что.
#525 #645252
>>645250
У вас там тоже акцент силен, сам сибиряков на раз палю (Наверное потому что батя у меня от-туда, лол)
#526 #645271
>>645252
А в чем акцент выражается? Мне интересно даже. Та тянка сказала, что он просто русский, и я нихуя не понял.
#527 #645273
>>645271
Сложно объяснить, но что-то у вас такое есть. Интонация немного другая.
#528 #645275
>>645271
Ну другая манера произношения епт, просто другая. Это задефайнить тяжело, а вот задетектить легко.
#529 #645278
>>645273
>>645275
А, ну это да, выговор даже от района к району меняется. Я думал, что-то совсем уж клиническое, лол.
#530 #645281
>>645278
Ну опять таки, для меня сибиряк выкупаем в момент когда он скажет пару первых слов, хз как так.
#531 #645283
>>645278
Нет. В целом у сибиряков правильный язык и интонация эта приятно звучит и нейтрально, но детектится легко.
#532 #645370
>>645273
Тембр более быстрый, резкий
#533 #645394
ГДЕ ПЕРЕКАТ?
#534 #645436
>>645394
Запили.
#536 #645604
>>645210

> except User.DoesNotExist:

#537 #646069
РАЧЬЁ, ПЕРЕКАТ ПИЛИТЕ
#538 #646972
>>643794
>>643797
Еще раз спасибо за советы.
Сэкономило мне несколько часов работы.
Обновить тред
Двач.hk прислал битые данные.
Вы видите копию треда, сохраненную 11 февраля 2016 года.
Можете попробовать обновить страницу, чтобы увидеть актуальную версию.

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

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