Этого треда уже нет.
Это копия, сохраненная 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
Еще раз спасибо за советы.
Сэкономило мне несколько часов работы.
Тред утонул или удален.
Это копия, сохраненная 11 февраля 2016 года.

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

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