Двач.hk не отвечает.
Вы видите копию треда, сохраненную 3 февраля 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
16 Кб, 600x360
Python Thread Perekoter !JLHGEtxGTk #900337 В конец треда | Веб
Шапка: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat

Прочитай шапку перед тем, как задать вопрос!
PEREKOT Perekoter !JLHGEtxGTk #2 #900343
Прошлый тред >>889846 (OP)
#3 #900380
Объясните, пожалуйста, что за порнуха с virtualenv на винде? Почему "python -m pip install ..." вместо "pip install ...". Почему pycharm не может устанавливать пакеты? Почему, если попытался обновить setuptools с помощью pycharm, получив при этом ошибку, и после пытаясь проделать то же самое через консоль "python -m pip install -U setuptools" получаешь ошибку и сообщение о том что какой-то там .egg занят каким то ебучим процессом? Ну что за говно, ебаных три часа пытаюсь разобраться. В общем, скажите, можно ли кодить на винде, и как то убедиться что все пути работают правильно, что в одном окружении не лежит две копии пакета, потому что ты установил его через pip и python -m pip, и как вообще избавиться от этой хуйни, не разъебав ноутбук молотком?
#4 #900386
>>900380
Поставить макось/линукс и не ебать мозг. Венда не приспособлена для разработки на языках официально не поддерживаемых студией и микрософтом.
900389
#5 #900389
>>900386
я всю жизнь работал на маке, мак был уничтожен. а так как я нищеброд, то работаю на ноуте, одолженом у друга. посему сносить систему нельзя, ставить виртуалку не вариант, так как комп не очень производительный.
900390900393907801
#6 #900390
>>900389
cygwin...
900393900396
#7 #900393
>>900389
Тогда никак. Еби мозг. Ну или виртуалку поставь.

>>900390
Кривая горка костылей, которая рано или поздно посыпется и задавит этого хрена вместе с его дохлым ноутбуком. Да и с ней самой ебли предостаточно.
900396900398
#8 #900396
>>900393
>>900390

я слабо себе представляю, как cygwin облегчит мне жизнь.

Ну же, я знаю, тут должны быть такие же виндоебы как я. Поделитесь костылями.
900398
#9 #900397
>>900380
Похуй, пойду ставить линукс рядом с виндой. Ебал я эти разборки.
#10 #900398
>>900393
>>900396
Специально для таких добрые дяди запилили костыль. Нет, не хочу этот костыль, хочу другой костыль, чтобы был сферический и в ваккуме.
900400
#11 #900400
>>900398
А я хочу ноги. Чтобы бегать как в жопу ужаленный и прыгать через дома. А костылями эти добрые дяди могут себе анусы подолбить.
900404900417
#12 #900404
>>900400
Всем похуй, чего ты там хочешь.
900412
#13 #900412
>>900404
Помочился на твои костыли.
900413
#14 #900413
>>900412
Омерзительное быдло. Надо заметить, что ты мне физиологически отвратителен, и когда я разговариваю с тобой, я ощущаю тошноту, в прямом, медицинском смысле. Ты должен это знать, хотя я и умалчиваю обычно сие в виду очевидности.
#15 #900417
>>900400
слишь э, тебе чо нада тут?
22 Кб, 400x400
#16 #900442
>>900337 (OP)
зачем такой убогий оппик? лучше бы этот
#17 #900444
>>900380
чтобы писать >pip instal
надо сначала установить системные переменные, либо писать полные пути в командной строке:

>C:\python\gdetotut\pip.py

900726
#18 #900726
>>900444
Чому мне на виндах не надо задавать переменные, и всё работает после установки? ЧЯДНТ?
900732901044901908
#19 #900732
>>900726
Ты наверное питончик установил правильно. Я недавно накатывал питон3 на винду и выбрал кастомную установку (или как она там называется) - так вот там можно поставить галку, чтобы все эти пути добавились куда надо.
901044901908
#20 #901005
Аноны, как в Django с русским языком нынче? До сих пор же пишет "Добавить Картинка" и прочее. Как это фиксить без морферов и подобного говна? Ей богу flask-admin лучше блин
901188
#21 #901044
>>900732
>>900726
Хакиры итт.
#22 #901053
Есть вагрант машинка и на ней сайтинг на джанге. Как сделать так чтобы сайтик был доступен во внешнем интернете с этой же машинки? Vagrant share не вариант
901065901184
#23 #901065
>>901053

>Vagrant share



штоу? это обычная виртуалка, человечество уже сто лет научилось выставлять виртуальный сетевой интерфейс в локалочку, хоть через NAT, хоть через бридж, хоть через прокси
#24 #901086
Вышел Python 3.6. А это повод. Выпьем за интерполирующие строки и асинхронные генераторы!
901100
#25 #901100
>>901086
И за юникодную консоль на Винде!

Я, правда, соснул и буду сидеть на 35-м говне мамонта, пока continuum не обновит все модули в Анаконде.
#26 #901184
>>901053
https://localtunnel.github.io/www/
еще что то было, забыл как называется
#27 #901188
>>901005
Обожаю таких не самокритичных мамкиных хакиров.
https://docs.djangoproject.com/en/1.10/ref/models/options/#verbose-name-plural
901658
#28 #901287
>>900337 (OP)
Sup аноны. Как правильно использовать logging если у меня один и тот же модуль иногда вызывается напрямую, а иногда импортируется?
Где делать конфигурять рутовый логгер, как оверрайдить в одном модуле?
901307
#29 #901307
>>901287
инициализирую и настраиваю в каждом файле
сделал функцию setup_logging() и в начале файла вызываю:
import logging
import setup_logging
setup_logging()
logger = logging.getLogger(__name__)

но постоянно гложет чувство что я что то делаю не так)
901310
#30 #901310
>>901307
setup_logging делай в
if __name__ == '__main__':
901315
#31 #901312
Duh eg g jug
#32 #901315
>>901310
но тогда name (имя файла в котором logger.info(), например) в формате логгинга:
format: '%(asctime)s %(levelname)-8s %(name)s:%(lineno)d: %(message)s'
будет содержать имя файла с __main__
901341
#33 #901341
>>901315
Не вижу большой проблемы, т.к. это говорит тебе о том что модуль был запущен как скрипт, но если сильно тебя беспокоит, то напиши:
log = logging.getLogger('hui')
Есть заюористые методы как не хардкодить название модуля:
http://stackoverflow.com/questions/2282369/how-do-i-get-the-module-name-of-an-objects-class-definition-rather-than-the-mod
Но мне кажется это уже слишком.
901342901384
#34 #901342
>>901341

>напиши


Внутри ifа естественно.
#35 #901384
>>901341
спасибо, попробую
#36 #901658
>>901188
Ты охуел чтоли сука? Может от хочет чтоб писало "Добавить _картинку_", а не "Добавить _картинки_"
901705901722
#37 #901705
>>901658
А могли бы использовать слово "изображение".
905421
#39 #901722
>>901658
Джанго это веб-фреймворк, а не фреймворк локализации. У него другие задачи. Если нужно что-то такое, то пиши сам или ищи и подключай готовое.
905421
#40 #901731
Сап сеньоры и джуниоры. На связи студентота.
Есть такой кусок кода:

>writeFile.writelines("|",str(workerName).ljust(40),"|",str(workingDays).rjust(3),"|",str(round(salary,2)).rjust(10),"|",str(round(calculationFormula,2)).rjust(10),"|\n")



по идеи, он должен записать в файл что-то на типе этого:

>| Петров | 14 | 500 | 225.81 |



Но он упорно мне пишет вот это:

> File "C:/#DocumentAndFile/Programing/Python/1 Lab/Cost Accounting.py", line 103, in <module>


Save1()
File "C:/#DocumentAndFile/Programing/Python/1 Lab/Cost Accounting.py", line 59, in Save1
writeFile.writelines("|",str(workerName).ljust(40),"|",str(workingDays).rjust(3),"|",str(round(salary,2)).rjust(10),"|",str(round(calculationFormula,2)).rjust(10),"|\n")
TypeError: writelines() takes exactly one argument (9 given

Как это реализовать.
Код программы выложу тут: http://pastebin.com/zfF0GyH8
901733
#41 #901733
>>901731
Метод берёт один сиквенс, а ты кучу аргументов засунул. Возьми всё в дополнительные скобки. witelines([a, b, c, ...])

Алсо, лютый говнокод.
https://www.python.org/dev/peps/pep-0008/
901738
#42 #901738
>>901733
Спасибо, выручил дико!

Оформлять буду в конце, перед сдачей.

Я правильно понимаю, что ты намекаешь на ошибки типа:
1) Слишком длинные строки
2) Бесполезные комментарии
Или еще есть какие намеки на мою тупость?
901740901741
#43 #901740
>>901738

нет, ты просто тупой, остальное все ок.
901743
#44 #901741
>>901738
Код нечитаем, поэтому особо на недостатки не укажу. ПЕП8 и на русском должен быть, почитай. Например, ты дико форматируешь строки, лучше так: https://gist.github.com/anonymous/b15577e7b5fd98c2de9f94e34a5eb8d6
(Вместо принта в твоем случае будет f.write(line).)

Если пишешь в Sublime Text, то можешь накатить Anaconda (это плагин к СТ, который ставится через пакедж контрол, а не толстый дистрибутив питона от континуум аналитикс). Это такой линтер, будет обильно ругаться на всякие недостатки кода.
901744901777
#46 #901744
>>901741
Спасибо! Так и сделаю!
48 Кб, 804x336
#47 #901777
>>901741

>.format


Ой блядь, всегда не нравилась эта конструкция и я использовал %, а теперь нашел аргумент которым могу поводить питоном по твоим губам.
901792
#48 #901792
>>901777
Перепиши данный пример на %, говнокод получится.
902236
#49 #901837
>>900337 (OP)
Можно ли накатить Питон 3.6 на WinXP? На офсайте написано

>Note that Python 3.5+ cannot be used on Windows XP or earlier.


Теперь что, ставить 2.7?
Это офисный ПК с 2Гб ОЗУ, где-то 2007 года
901891901935901947
#50 #901891
>>901837
Ставь 3.4
#51 #901908
>>900726
>>900732

>называется


возможно
#52 #901935
>>901837
Ставь линуксы, базарю ещё захочешь.
901947
#53 #901947
>>901837
>>901935
Нихуя, ставь десятку. Достали со своим хрюговном, некрофаги ебаные.
#54 #901954
>>900380
если имя пользователя написано кириллицей- это в последствии может вызвать кучу багов. К счастью переименовать учетную запись совсем не трудно
94 Кб, 612x612
#55 #902039
Анон, вопрос по джанге сложный:
Что есть: я таки сделал блог с картинками, но споткнулся на thumbnails к картинкам.
У меня есть Post со атрибутом structure(текст, картинки видео), у него есть метод render_to_html - делает из своего содержимого готовый html код, который уже передается шаблону.
Html генерируется следующим образом: определяется тип элемента в structure и в зависимости от типа используется метод render этого типа -
[CODE]def render(self):
return render_to_string('content_types/{}.html'.format(self._meta.model_name), {'item': self})[/CODE]
Все было ничего, пока я не дошел до миниатюр:
а) джанга просто не рендерит по шаблону со своими же тегами
http://pastebin.com/9kFesjdA
б) даже если он и срендерит, то, как мне кажется, в конечной странице не отобразится ничего - html поста отображается с помощью {{ post.html_rep|safe_html}}

Есть ли другой способ генерировать миниатюры в моей ситуации?
902139
#56 #902139
>>902039
Решено
902157
#57 #902157
>>902139
Обращайся!
#58 #902236
>>901792

не получится, если грамотно на функции побить. в данном примере .format() никакой полезной нагрузки не несет по сравнению с %
902311
#59 #902311
>>902236

>не получится, если грамотно на функции побить


Вот и попробуй. Покажи всем класс.
52 Кб, 600x397
23 Кб, 480x360
268 Кб, 500x390
526 Кб, 801x590
#60 #902318
Я тот говнюк с фласком, знанием питона и без знаний веба на нём. Вот есть такой личносайт: http://torshina.me/ Я хотел бы запилить примерно то же самое по дизайну, разве что выводить единовременно по одной публикации, а не кучу. В общем, ответьте, пожалуйста, на то, что сочтете достойным ответа:

1. В каком виде и где хранить публикации? Контент самый разный, включая текст, полноэкранные картинки, куски кода, математические формулы, ютубовимео и просто вебмки с сервера. Пока думаю создать базу данных с такой структурой. Что-то лишнее, чего-то не хватает?
айди
хтмль-содержимое
тэги
хэш пароля доступа (для общедоступных записей пустой)

2. Как добавлять новые публикации на такой сайт? Стоит ли ебаться с запилом запароленной админки с формой для постинга? Я единственный автор.

3. Тут был лишний вопрос, лень всё перенумеровывать.

4. Как обычно хранят и запрашивают теги?

5. По мере добавления публикаций добавлять каждый раз новую функцию app.route с красивыми урээлам вида:
example.com/moya-huyovaya-publikaciya/
example.com/esche-odna-publikaciya/
example.com/nu-i-tretya/
Не плохо ли это? Может, хранить в базе ещё и урл?

6. Стоит ли добавить уровень для публикаций? Если да, то зачем?
example.com/articles/moya-huyovaya-publikaciya/

7. Допустим, на этих трёх ссылках теги "first", "second", "third" соответственно, а на первых двух ещё и "jopa" - общий тег. Тогда поиск по тегам должен работать так:
example.com/first/ - выдаст первую публикацию.
example.com/jopa/ - выдаст первую и вторую.
example.com/third+jopa+first/ - выдаст все три
example.com/tags/ - служебная страница, выдаст все теги
Вполне тривиально реализуемо ведь? На реддите вроде бы так выводятся сабреддиты.

8. Стоит ли добавить уровень для тегов? Если да, то зачем?
example.com/tags/jopa/

9. Т. к. я безответственный, то буду переименовывать статьи и ломать старые ссылки. Я решил, что обращение к несуществующей статье или тегу:
example.com/zapros-a-mozhet-ustarevshiy-url/
должно делать поиск по сайту. Транслита не будет, язык урлов и публикаций - английский. Как лучше всего реализовать fuzzy search?

10. Посещалка 10-20 человек в месяц, плюс пики, если публикацию вдруг вкинут на какой-нибудь сабреддит, и попрут левые хуи в количестве, наверное, сотен в час - хотелось бы не падать в эти моменты. Как такое лучше захостить, чтобы было недорого?
52 Кб, 600x397
23 Кб, 480x360
268 Кб, 500x390
526 Кб, 801x590
#60 #902318
Я тот говнюк с фласком, знанием питона и без знаний веба на нём. Вот есть такой личносайт: http://torshina.me/ Я хотел бы запилить примерно то же самое по дизайну, разве что выводить единовременно по одной публикации, а не кучу. В общем, ответьте, пожалуйста, на то, что сочтете достойным ответа:

1. В каком виде и где хранить публикации? Контент самый разный, включая текст, полноэкранные картинки, куски кода, математические формулы, ютубовимео и просто вебмки с сервера. Пока думаю создать базу данных с такой структурой. Что-то лишнее, чего-то не хватает?
айди
хтмль-содержимое
тэги
хэш пароля доступа (для общедоступных записей пустой)

2. Как добавлять новые публикации на такой сайт? Стоит ли ебаться с запилом запароленной админки с формой для постинга? Я единственный автор.

3. Тут был лишний вопрос, лень всё перенумеровывать.

4. Как обычно хранят и запрашивают теги?

5. По мере добавления публикаций добавлять каждый раз новую функцию app.route с красивыми урээлам вида:
example.com/moya-huyovaya-publikaciya/
example.com/esche-odna-publikaciya/
example.com/nu-i-tretya/
Не плохо ли это? Может, хранить в базе ещё и урл?

6. Стоит ли добавить уровень для публикаций? Если да, то зачем?
example.com/articles/moya-huyovaya-publikaciya/

7. Допустим, на этих трёх ссылках теги "first", "second", "third" соответственно, а на первых двух ещё и "jopa" - общий тег. Тогда поиск по тегам должен работать так:
example.com/first/ - выдаст первую публикацию.
example.com/jopa/ - выдаст первую и вторую.
example.com/third+jopa+first/ - выдаст все три
example.com/tags/ - служебная страница, выдаст все теги
Вполне тривиально реализуемо ведь? На реддите вроде бы так выводятся сабреддиты.

8. Стоит ли добавить уровень для тегов? Если да, то зачем?
example.com/tags/jopa/

9. Т. к. я безответственный, то буду переименовывать статьи и ломать старые ссылки. Я решил, что обращение к несуществующей статье или тегу:
example.com/zapros-a-mozhet-ustarevshiy-url/
должно делать поиск по сайту. Транслита не будет, язык урлов и публикаций - английский. Как лучше всего реализовать fuzzy search?

10. Посещалка 10-20 человек в месяц, плюс пики, если публикацию вдруг вкинут на какой-нибудь сабреддит, и попрут левые хуи в количестве, наверное, сотен в час - хотелось бы не падать в эти моменты. Как такое лучше захостить, чтобы было недорого?
902332902584
#61 #902332
>>902318
Прочитай уже тутор для джанги, наркоман ебаный.
https://docs.djangoproject.com/en/1.10/intro/install/
902925
#62 #902347
ЕОА есть один аплоадер картинок на js, в джс я ограничил количество загружаемых файлов, но в джанге хз как, потому что файлы загружаются из формы создания поста, до создания поста, поэтому я не могу посчитать в джанге сколько у поста загруженных файлов и выдать аплодеру сепуку. есть мысли как можно решить эту задачу?
если в js генерить какой то ключ, например uploader_session и слать его в джангу, то можно ограничито по этому ключу, но ведь ключ этот можно легко подделать, соответственно еще один вопрос: как не подделать?
902361
#63 #902361
>>902347
ы вот я тупанул. короч при открытии страницы с формой поста в сессию кладу upload_session_files = 0
а при загрузке проверяю, увеличиваю...
а то уже начал в RSA смотреть ахах))
#64 #902524
UnicodeEncodeError: 'charmap' codec can't encode character '\u263a' in position 7895: character maps to <undefined>

Сталкивался кто? Все мозги выклевала эта хуйня, ей богу.
902530
#65 #902530
>>902524

>>> s = "\u263a"


>>> s


'☺'
вангую винду и её кодировочки
902541
#66 #902531
hh опубликовал статистику:
-30% открытых вакансий в 2016 году по сравнению с 2015
у php обезьян +70%
ха ха
продолжайте учить, уебки
902534
#67 #902534
>>902531
кинь ссыль плес
902698
#68 #902541
>>902530

>вангую винду


10ка, да

Поясните за эти кодировки ебучие, плес.
Сил моих нет.
Играюсь с апи вк и смотрю джсоны, и с ними часто такая ебнистика просиходит. Как я понимаю мой питон не может показывать всякие смайлики, так как его научить то?
902542
#69 #902542
>>902541
Трешку блядь поставь, заебали ретрограды.
902543
#70 #902543
>>902542
3.5, с оф сайта

Но сначала у меня 2.7 стояла. или сначала 3.5 потом снес, поставил 2,7 потом опять 3.5 хз
Может в этом трабла?
902544
#71 #902544
>>902543

> UnicodeEncodeError: 'charmap' codec can't encode character '\u263a' in position 7895: character maps to <undefined>



Такой эксепшен ТОЧНО не мог родиться в 3шке. Блядь, зайди в консоль, введи python и посмотри версию.
902545902551
4 Кб, 771x116
#72 #902545
>>902544
Обижаешь. Стал бы я врать родному анончику ты же весь мой друг
902553
#73 #902551
>>902544
По винде - там надо PATH настроить. В нем указываются абсолютные урлы до папок где надо искать исполняемые файлы. Если у тебя там что-то вроде C:\python27, то надо указать путь до папки с экзешником 3го питона.
14 Кб, 793x199
#74 #902553
>>902545
Только что заметил что в инфе при запуске дата какая-то левая. Вот еще пруфов что в 3ке такая хуерга творится.
902557902558
#75 #902557
>>902553
Поставь 3.6
902567
#76 #902558
>>902553
Ладно, ты меня удивил. Почему-то у тебя он полез в cp866. Кириллицу он принтует?
902569
#77 #902567
>>902557
Помогло. Ты теперь мой герой. Я назову сына в твою честь ты же антон, да?
Нет, правда, я так заебался с этим. Джсоны от вк просто кишат такими нечитаемыми штукам.
902628
#78 #902569
>>902558
После установки 3.5 после 2.7 как-то зашакалились путь, очевидно дело было в этом
#79 #902584
>>902318

>1. В каком виде и где хранить публикации?


Все в бд, кроме картинок (ссылки на них хранить в бд), ютубвидео (их можно встраивать), остальное по усмотрению.

2. Ну в админке пишешь пост, публикуешь и все. Есть всякие генераторы статических сайтов, посмотри, может подойдет тебе. Смотря какие возможности тебе нужны. Может быть админка и не понадобится.

4. ManyToMany, наверное. У каждого поста может быть много тегов и каждый тег может быть прикреплен к нескольким постам. Получается 2 таблицы. Но это не единственный способ. Для джанги есть django-taggit, насчет фласка не знаю.

5. >Может, хранить в базе ещё и урл?
Да. Его можно генерировать автоматически из заголовка поста.

6. Смотри сам.

7. Хуй знает, как сделаешь, так и будет.

8. см. 6

9 Хз

10. Хз. погугли всякие heroku, pythonanywhere http://flask.pocoo.org/docs/0.12/deploying/#hosted-options
902925
#80 #902591
Как сделать так же без нумрая?
http://stackoverflow.com/questions/17619415/how-do-i-combine-two-numpy-arrays-element-wise-in-python

Делаю так sum(zip(a, b), ()), но не уверен работает ли оно правильно.
902593902626
#81 #902593
>>902591

>нумрая


нумпая
#82 #902626
>>902591
Не понял тебя. Если тебе надо склеить 2 массива, то можно например сделать так
a.extend(b)
902630
#83 #902628
>>902567
Слезай с этой говновинды, то, что в 3.6 сделали по умолчанию вывод в консоль utf-8 не решает всех проблем винды.
902632
#84 #902630
>>902626
Массивы [1,2,3] и ['a', 'b', 'c'] превратить в [1, 'a', 2, 'b', 3, 'c']
103 Кб, 321x275
#85 #902632
>>902628
Но мне надо играться. Скайримы всякие, багофильды. Еще я люблю адобовские программы и их совместимость между собой. Как же я без всего этого, анон?
902635902637
#86 #902635
>>902632
Поставь второй системой/virtualbox
#87 #902637
>>902632
даепт, поставь виртуалку с убунтой и разрабатывай в ней. то есть разрабатывай в винде, но код запускай в виртуалке. тот же pycharm умеет в удаленную отладку.
3166 Кб, 600x310
#89 #902925
>>902332
Спасибо. Я Фласк взял, но думаю этот туториал прочитать не повредит - увижу вещи с другой стороны и закрою какие-то пробелы. Плюс уже видно, что у Джанго получше доки для новичка, поясняют многое в процессе. Может даже и перекачусь на Джанго, если шибко понравится.

>>902584
Спасибо за ответы.

1. Ссылки хранить в бд в отдельном столбце или как? Пока всё это планирую так и хранить в "хтмль поста" текстом. Я ещё сейчас расматриваю вместо хтмля маркдовена использовать, удобнее писать и править, и хранить можно в отдельной папочке, а не в бд.

2. Вроде этого?
https://www.staticgen.com/
Впервые вижу такое. Даже не понял, что оно делает. Разберусь, спасибо.

5. Как я понимаю, или хранить в отдельном столбце, или генерировать из инфы, лежащей в другом месте. Хранить отдельно наверное удобней.

10. Спасибо, читал, но ещё подниму этот вопрос - личный опыт нужен.
902933
#90 #902933
>>902925

>Ссылки хранить в бд в отдельном столбце или как?


В отдельной таблице, может быть. У каждого картинки может быть заголовок, ссылка на файл картинки, внешний ключ на пост, например.

>5.


Я не правильно сказал, извини. Я имел в виду не полный урл, а его чаcть - slug - которую ты сгенерируешь из заголовка поста. https://ru.wikipedia.org/wiki/Семантический_URL#Slug
Потом этот slug можешь использовать в своих ссылках на посты. Полные ссылки на посты, конечно, стоит генерировать на лету, а не хранить где-то.
#91 #903049
Внимание, вопрос. Если я список использую в функции напрямую как глобальную переменную, нужно ли как-то явно передавать его в функцию, или и так сойдет?
903127
22 Кб, 932x202
#92 #903082
А есть какие-нибудь дебаггер, которые скажут на какой строке ошибка?
#93 #903127
>>903049
Список не нужно, если ты его содержимое модифицируешь. В противном случае нужен стейтмент global.
https://gist.github.com/anonymous/265734b99f5b4418cf7550932697e9fb
903296
#94 #903252
В кжанге юзают это ваше ООП? Или можно особо в него не вникать?
903254903257903298
#95 #903254
>>903252
можно не вникать
ооп - реликвия прошлого и более-менее новые фреймворки его игнорируют чуть менее чем полностью
903255
#96 #903255
>>903254
Ну-ка, кинь ссыль на такой фреймворк.
#97 #903257
>>903252
не, особо не заморачивайся, там все проще: хуяк-хуяк.
#98 #903296
>>903127
не, это я знаю, а как лучше согласно принципу кисс и зену питона. Ведь эксплицитно лучше, чем имплицитно.
903397
#99 #903298
>>903252
джанга - это почти сплошной ооп, тебя даже на джуниора будут спрашивать про класс-бейзд вьюз, про всякие миддлвейр, миграции с south, а там все делается через наследование исходных классов джанги.
903300903306903309
#100 #903300
>>903298
не пизди! нет там никакого ооп, она все сама делает! только тыкаешь кнопку сделать пост в моем сладеньком бложике, и она сама все делает! еще там можно картинки загружать!
#101 #903306
>>903298

>миграции с south


если меня спросят на собеседовании про south, то я просто уйду с этого собеседования
903317
#102 #903309
>>903298

> все делается через наследование исходных классов джанги


Ну и это почти единственная вещь, которую надо знать про класы в джанге. Больше там ничего сложного нет
903315903332
#103 #903315
>>903309
двачую этого! да и вообще нехуй наследоваться! взяли моду. хуярь globals!
#104 #903316
классы - хуясы объекты - хуепты
903318
#105 #903317
>>903306
правильно, снегу на дворе навалило, надо бы убрать пока бригадир пизды не дал.
903320
#106 #903318
>>903316
кверисеты - хуесеты миддлвари - хуевари миграции - хуяции
903319
#107 #903319
>>903318
базовые классы - хуясовые классы модули - хуедули импорты - хуимпорты
903406
#108 #903320
>>903317
ты так говоришь, как будто убирать снег - это хуже, чем ковыряться в коде проекта, написанного на старой джанге, на своевременное обновление которой забили хуй.
903322
#109 #903322
>>903320
я так говорю, потому что мне похуй south там или еще какая поебень, я на работу за программированием хожу и деньгами.
#110 #903332
>>903309
ну, используются же классы, и активно, в питоне вообще классы сложно по-другому использовать
#111 #903397
>>903296
Разумеется, эксплицитно лучше. И вообще, глобальные дикты лучше.

https://gist.github.com/anonymous/d45c8f71ebe530301173b8e86474a11c
С индексом ошибся по невнимательности, между прочим. Вот, я же говорил!
903590
#112 #903406
>>903319
миксины - хуиксины. урлпаттерны - хуятерны. метаклассы - метахуясы.
вечер поэзии на ЛОРе
903422
#113 #903422
>>903406
модели - хуели, аттрибуты класса - хуепуты хуяса, архитектура приложения - хуекультура хуеположения
903453
#114 #903451
Аноны, хочу выучить как доп. язык этот ваш питон. Сам я веб макакен на c#. Пролистал byte of python, хуйня какая-то для детей в том смысле, что мало полезного Моя цель иметь знания на уровне мидла, с какими задачами я должен уметь справляться?
903454
#115 #903453
>>903422
абстрактный метод - хуяктный хеутод
#116 #903454
>>903451
с чем справляется мидл на с#?
903457
#117 #903457
>>903454
в моем случае может запилить сайтец на asp с нуля с онион архитектурой
903458
#118 #903458
>>903457
значит на питоне ты должен уметь запилить сайт с нуля, с хуй его знает какой архитектурой.
903462
#119 #903462
>>903458
более того, ты должен уметь взять чей то ебучий сайт с нуля, с любой архитектурой и перепилить как надо заказчику. еще ты должен уметь поднять весь веб стек, а так же взять чей то сервак и перепилить как тебе надо.
если ты еще и full stack middle то поебись ка еще и с js.
и, кстати, реще давай!
903463
#120 #903463
>>903462
ах да, забыл добавить: где тесты сука? а, я тебя спрашиваю!? где тесты сука!!???
903465903466
#121 #903465
>>903463
p.s
"а вот эта поебень на джанге похоже уже не справляется с запросами, можно как то исправить? мб вынести в какое то быстрое api?"
окунись ка в асинхронное программирование на питоне.
903467903484
#122 #903466
>>903463
нормально, я и есть фуллстак c# макака. Но у нас никто не перепиливает сайты, т.к. это ооочень долго\дорого. Я так понял на питоне скрипты гораздо меньшие по объему, примерно как в nodejs+express?
903468
#123 #903467
>>903465
А тёлки начнут течь когда?
903469
#124 #903468
>>903466
хз, я только питон знаю и немного js
я до миддла не дорос еще.
903469903473
#125 #903469
#126 #903473
>>903468
можешь поделиться ссылочкой на гитхаб с типовым сайтом, который считается нормально написанным? любого автора
903480903570
#127 #903480
>>903473
такие конечно есть, искать надо. но я не знаю, не хочу искать. но вот навскидку требования к норм программе, по моему мнению:
1) код должен быть управляемым - отсутствие хардкода, интерфейсы, абстракции...
2) везде где возможно, должны использоваться существующие, "маститые" фреймворки и библиотеки - минимум костылей.
3) код должен быть покрыт тестами.
903482
#128 #903482
>>903480
чтобы сориентироваться просто смотри как делают мастера, типа светлова, ронахера, джангу глянь - несомненный какнадо в питоновебе.
903485
#129 #903484
>>903465
p.p.s
не знаю как в с#, а в питоне просто охуенная стандартная библиотека и ее хорошо бы знать и юзать.
#130 #903485
>>903482
спасибо, анон
#131 #903486
а еще, я сейчас возможно пиздану не в кассу, но мне кажется strong middle должен уметь оптимизировать код на си и иметь хорошую алгоритмическую подготовку.
903488
#132 #903488
>>903486

> оптимизировать питоний код на си

#134 #903570
>>903473
Насчет типовости не уверен, но держи

Исходиники самого сайта джанги
https://github.com/django/djangoproject.com

Исходники сайта питона
https://github.com/python/pythondotorg

Сайт с джанговскими пакетами
https://github.com/pydanny/djangopackages
#135 #903574
Почему ffmpeg такой охуевший? Необходимо получить кадры нескольких rtmp стримов и затем их соединить в одно, для этого я создаю новый процесс, вызываю там os.system("ffmpeg ...") и жду либо завершения, либо таймаута и пытаюсь убить процесс (потому что ffmpeg при попытке чтения недоступного rtmp стрима виснет навсегда, таймаут не предусмотрен, блядь). Так вот, SIGTERM там или SIGKILL — ему похуй, он берёт и возрождается с новым PID'ом для второй попытки. Ну и висит там бесконечно, разумеется, а я и достать его никак не могу, потому что ffmpeg'ов у меня одновременно может быть несколько, и какой из них убивать узнать невозможно.
Что с этим сделать-то можно, кроме как читать исходники и компилировать ffmpeg самому, убирая это неотключаемое дерьмо?
#136 #903575
>>903491
Лол. Всё пилю свой примитивный сайт на фласке и маркдауне, у меня прямо сейчас открыт w3schools с основами хтмл и цсс. Космический эффект на меня твои скрины оказывают.
#137 #903590
>>903397
Спасибо
#138 #903595
Как сделать, чтобы PyCharm выводил результат в командную строку винды?
zodiac #139 #903601
посоветуйте годные бесплатные уроки по питон в интернете.
и сайт где можно легкие задачи порешать
спасибо
903603
#140 #903603
>>903601

>Сайт


school.sgu.ru
Там много задач, решение которых можно отправлять на автоматическую проверку и получать баллы
#141 #903767
Привет, анон. Решаю тут задачи всякие разные по питону, учусь, так сказать, и одна задача мне не поддается. Задача, в общем то простая - найти в массиве максимальный и минимальный элементы и затем поменять их местами. В общем, я не понимаю, где именно я ошибся, если вы тыкните мне пальцем в это место, я буду премного благодарен.
http://ideone.com/H4MRrL
#142 #903780
imin = a.index(min(a))
imax = a.index(max(a))
a[imin], a[imax] = a[imax], a[imin]

Кто ответит, почему предыдущее не работало, тот миддл.
903857
#143 #903802
Как в джанго ресте обрабатывать сигналы из формы? Аналог пост-сейва. Когда я сохраняю модель через сериалайзер, он тупо не вызывает сигнал.
903863
#144 #903857
>>903780
http://stackoverflow.com/questions/31943047/python-why-the-code-for-swapping-the-largest-and-the-smallest-numbers-isnt-wor
Прикольно. Я сам не додумался. А ведь все просто и логично.
#145 #903863
>>903802
Может упустил что-то? Метод save() у модели точно вызван?
#146 #904152
x={'1a':{'1c':1,2:2},'1b':15}
Как опуститься на нижние уровни словаря?Пишу print (x['1a']),а дальше как?
904159
#147 #904159
>>904152
x['1a']['1c']
#148 #904209
Допустим есть класс
class A(object):
classvar1 = {'a': {'aa': 1}, 'b': {'bb': 2}}

Пытаюсь добавить туда же
classvar2 = {(i, j): A.classvar1[j] for i in A.classvar1 for j in A.classvar1}
Оно мне говорит, что

>NameError: name 'A' is not defined


Пробовал без A.; тогда говорит

>NameError: name 'classvar1' is not defined



Собственно, как можно из статической переменной класса обратиться к другой статической переменной этого же класса без всяких __init__ и @property?
904213904959
#149 #904213
>>904209
Собственно никак, ибо класс ещё не сконструирован. Если надо что-то такое, то используй метаклассы/наследование.
904215904959
#150 #904215
>>904213
Жаль. Просто мне тут класс нужен как неймспейс и городить мусор не хотелось бы.
904218904219904221
#151 #904218
>>904215
Попробуй вместо А написать self.
904219904289
#152 #904219
>>904218
Бля, ну ты дибил, ну какой селф? Нахуй ты вообще советуешь, попробуй сначала сам написать. Ебаать.
>>904215
Используй словари.
904289
#153 #904221
>>904215
а юзать модуль как неймспейс?
904289
41 Кб, 164x180
#154 #904241
#155 #904289
>>904218
Это не так работает
>>904219

>Используй словари


Однохуйственно
>>904221
Вариант, но у меня в файле 2 класса, которые повязаны друг с другом. Разносить их смысла нет.

Алсо, проблема уже не актуальна.
904395
#156 #904395
>>904289

> Однохуйственно


Можно императивно их заполнить. То есть сначала создал словарь со своими константами, потом пополнил его на их основе хотя и с классами так можно
#157 #904405
Как в файле изменить два байта начиная с двадцатого и записать в новый файл?
904406
#158 #904406
>>904405
Также как и в си.
904408
#159 #904408
>>904406
Я полный профан. Не знаю как правильно надо это делать. Наверное скопировать весь файл в строку и ее изменить, а потом записать в файл.
904409
#160 #904409
>>904408
Нет конечно. Скопировать файл, открыть для чтения-записи, переместить указатель в нужное место, записать, профит.
904411
#161 #904411
>>904409
О это еще сложнее. Напиши пример, как это выглядит в коде.
904413
#162 #904413
>>904411
Делать мне нехуй что ли?!
#163 #904422
x={'sd':{'dsa':12,'re':676},'ds':98}
Как сделать так,чтобы пользователь вводил лишь название ключа и ему выводилось его значение?
904426904433
#164 #904426
>>904422
Рекурсивный поиск, очевидно же.
#165 #904433
>>904422
обход в ширину/глубину.Необязательно рекурсивный, рекурсии на питоне это вообще рак
904437904502
#166 #904437
>>904433
А в си не рак?
904446
#167 #904446
>>904437
Не знаю. Я говноед, котоырй кодил только на питоне жсе и го
904460
#168 #904448
Почему пишет в конец файла? Как записать с 20 байта?

f = open(file.wav, 'ab')
f.seek(20)
f.write(b'\x01\x00')
f.close()
904517
#169 #904460
>>904446
Так раскрою секрет, в 99% случаев ты делаешь рекурсию потому что знаешь какой примерно глубины она будет и потому что использовать рекурсию в данной ситуации удобно. А не потому что седые дядьки говорят, что надо все алгоритмы делать через рекурсию.
#170 #904502
>>904433
а то, что любой цикл можно переписать на рекурсию или обратно, без значимых потерь в производительности это все сказки? При том, что рекурсия легче читается, чем пляски со стэком
904516
#171 #904516
>>904502
1. Не каждую рекурсию можно превратить в цикл.
2. Питон этого все равно не делает.
904527
#172 #904517
>>904448
Попробуй open("file.wav", "r+)
16 Кб, 450x253
#173 #904522
http://scanlibs.com/django-example-video/
Может скооперируемся и скачаем видео с этих ублюдочных файлопомоек? на торрентах походу еще не завезли. Видео вышло два дня назад https://www.packtpub.com/application-development/django-example-video походу это видеоуроки по одноименной книге от ее же автора.

скачиваю первую часть с сраного дипозитап
904543904596
#174 #904527
>>904516

>Не каждую рекурсию можно превратить в цикл


Но стек ведь можно эмулировать
73 Кб, 924x555
#175 #904543
>>904522
Скачал две части, может утром еще кто скачает остальные две, я спать до обеда.
904596904627904631
#176 #904571
Пилю сейчас чат на асинкио, столкнулся с тем, что нихрена не шарю во всех этих сокетах, портах и т.п. Где можно почитать агрегированную инфуо том, как это все дело работает?
#177 #904596
>>904522
>>904543
А смысл? Чего ты в книге не понял-то?
#178 #904627
>>904543
качаю 3 часть
904630904631
#179 #904630
>>904627
Залей на нормальную файлопомойку когда скачаешь, я четвертую поставил, потом все объединю и залью куда-нибудь.
Алсо, пощелкал уже скачанные части, это по сути аннотации к книге, челик просто открывает исходники и кукарекает по пару минут на главу из книги, чет не очень.
904631904639
#180 #904631
>>904543
>>904627
>>904630
гарри поттера куда пижже качать, ваще збс все разжевано, книгу можно не читать даже! я все посмотрел!
#182 #904664
904665
1645 Кб, 2000x2829
#183 #904665
>>904664
Держи 2д тян за старания.
#184 #904667
Как правильно брать инфу из апи оксфордского, или любого другого словаря, когда на каждое слово всегда разное количество примеров и определений ? Я хотел себе словарик для анки сделать, но с этим запутался, на каждую строчку except: pass прописывать?
904734
#185 #904708
>>900337 (OP)
Вам не кажется, что питон обрастает огромным количеством сомнительных фич и начинает тем самым напоминать c++, а большинству это все нахуй не нужно, они пишут простенькие скриптки if/else и котируют питон только потому что его можно присобачить к чему угодно и есть много проверенных временем библиотек типа NumPy?
904744
#186 #904734
>>904667
Объясни нормально. У словарей есть метод get(key, default_value), чтобы не вылетал KeyError, если ты об этом.
904741904796
#187 #904741
>>904734
Да спасибо большое, я об этом как раз, потому что нужно было игнорить ошибки и я без этого метода обращался к словарю
#188 #904744
>>904708
Не кажется. Просто завозят новые батарейки, пока сам пайтон остаётся чертовски простым.
#189 #904796
>>904734
Кароче там еще после конвертации json в словарь приходит вот такая жесть, то есть чтоб достать нужный тест, нужно путь прописывать вручную, через get не прокатит. И при этом на каждом слове все меняется местами и тд. Я думаю легче забить на это дело

[CODE]lexicalCategory = dict['results'][0]['lexicalEntries'][0]['lexicalCategory']
phoneticSpelling = dict['results'][0]['lexicalEntries'][0]['pronunciations'][1]['phoneticSpelling']
etymologies = dict['results'][0]['lexicalEntries'][0]['entries'][0]['etymologies']

definitions1 = dict['results'][0]['lexicalEntries'][0]['entries'][0]['senses'][0]['definitions']
examples1 = dict['results'][0]['lexicalEntries'][0]['entries'][0]['senses'][0]['examples'][0]['text']
[/CODE]
904811
#190 #904811
>>904796
Присоединяюсь к вашему обсуждению.
json у них конечно мрачный, но что если делать так?
def get_examples_t(data):
# link + /examples
return [i['entries'][0]['senses'][0]['examples'][0]['text']
for i in data['results'][0]['lexicalEntries']]

def get_synonyms_t(data):
# link + /synonyms;antonyms
return [i['text']
for i in data['results'][0]['lexicalEntries'][0]['entries'][0]['senses'][0]['subsenses'][0]['synonyms']]

?
904829904941
#191 #904829
>>904811
Вот кстати идея с for циклом отличная, спасибо, у меня получилось сразу несколько описаний забрать , я думаю это должно работать
#192 #904851
Как мне вытащить вот отсюда http://ru.investing.com/commodities/crude-oil-historical-data цены, скажем с 01/01/2005 по 01/01/2016
Я первый раз имею дело с ajax, и не знаю как это работает в деталях, но задача выглядит довольно боянистой, так что по-любому вы знаете простое решение.
Итак, мне надо заставить данные появиться на страничке, распарсить я её смогу.
904866
#193 #904866
>>904851
Хз, почему я этого не посмотрел на stackoverflow. Спасибо, я разобрался.
20 Кб, 666x339
#194 #904941
>>904811
Еле добился от него адекватной выдачи, я все таки добавил except pass внутри функций, чтоб он пропускал лишнее. Теперь остался гемор с форматированием текста и как лучше к его запихнуть в анки
905104
#195 #904959
>>904209
Я тут поигрался с проблемой этого анона, и >>904213 частично неправ. Собственно, вот -
https://repl.it/Ez6c
к classvar1 вполне можно обращаться, проблема во вложенных лупах в лист компрехеншнах. Если же я сначала сделаю список из одного этого элемента и уже по этому списку буду пробегаться, то всё прекрасно работает.
Кто готов объяснить это необычайно предсказуемое поведение?
904960
#197 #904967
>>904960
Оперативно, спасибо.
25 Кб, 945x630
#198 #904997
Что со мной не так ?
905004
#199 #905004
>>904997
Табом вместо пробелов пользуешься, да ещё и торговый центр какой-то убить хочешь, террорист. sys.path вне кавычек нужно, иначе это просто текст, ничего для интерпретатора не значащий. Погугли ещё python string formatting, полезно будет.
905022
#200 #905022
>>905004
лалка, он в pyCharm'e сидит, там отступы настроены верно. Даун просто после принта решил пробел ебануть.
905025
#201 #905025
>>905022
Н-но там прямым текстом же всё написано!
133 Кб, 1072x725
#202 #905037
Между тем выкатили новый пушарм, вот только пока не хочется качать ибо там в бете телеметрии напихано полагаю. Интересно пойдут ли старые серверы лицензий.
905039905050905498
#203 #905038
Есть некий банковский софт на джаве, насколько есть смысл его переписывания на питон и переезд на опенсоурс стек? Вывод интерфейсов нужен на веб и гуй. В результате перехода понизится стоимость поддержки, т.к. стоимость джависта и питониста разные, тем более ничего изобретать не нужно будет после переписывания, мелкие изменения и дополнения. Интересно что скажете по делу.
905041
#204 #905039
>>905037
А, попой прочел, лицензия не нужна.
#205 #905041
>>905038
В качестве бекенда для выдачи информации питон подойдет, клиентский гуй на нем хорошо не напишешь. Есть смысл или нет считать должен специалист, тут у нас программирование.
905053
#206 #905046
905054
#207 #905050
>>905037

>Zero-latency typing


Иными словами — не лагает, что ли?
905054
#208 #905053
>>905041
Можно и без гуя обойтись, сделать все в вебе. А с Qt какие проблемы?
#209 #905054
#210 #905062
А сколько оперативной памяти жрет PyCharm?
905088905128
#211 #905076
Что нужно для того,чтобы строка начала поддерживать русские символы?
905550
#212 #905088
>>905062
~150 без учета ВМ
905090
#213 #905090
>>905088
Так мало? Я почему-то всегда считал, что это тормозная прожорливая штука. Спасибо! Пожалуй скачаю потыкать.
905096
#214 #905096
>>905090
Ты же понимаешь что такое Java VM?
905126
#215 #905104
>>904941
Я решил поискать других апи и нашел огромную кучу их. В работоспособности/актуальности я не уверен, конечно же
https://www.programmableweb.com/category/dictionary/api
905123
#216 #905123
>>905104
Что конкретно ты хочешь написать?
905152
#217 #905126
>>905096
Да, все понял
#218 #905128
>>905062
Смотря какой проект. За пару дней, если хип строго не задавать, джетбрейнс поделия могут выжрать и под 3-5гб.
905129
#219 #905129
>>905128
Спасибо за ответ, анончик!
21 Кб, 450x353
#220 #905151
Господа, поясните за Pyston. Чето dropbox его там мурыжит, кто-то пробовал запускать на нем чет, быстрее работает?
905254
#221 #905152
>>905123
Мелкую cli утилитку для быстрого перевода слов/поиска синонимов/антонимов/примеров употребления. Почти написал же
#222 #905168
Пачаны,я никак не могу найти ошибку.Сначала все работало как надо,но затем хуяк-херак,и перестало робить,теперь чего только не пишу все время выдает единицу.ЧЯДНТ?
if action == 'look around':
for object in cell_enviroment:
print(object)
elif action == 'talk to rack' or 'talk rack' or 'rack':
print ("1")
elif action == 'beg' or 'open beg' or 'take beg' or 'look beg':
print('2')
elif action == 'stones' or 'rocks' or 'walk to stones':
print('3')
elif action == 'help' or 'hint':
for tip in help:
print(tip)
else:
print('Looks like you have amnesia.Try again')
905176905182
#223 #905176
>>905168

>ЧЯДНТ?


Нужно

>elif action == 'talk to rack' or action == 'talk rack' or action == 'rack':



А лучше запихать варианты в спиок или кортеж и проверять с помощью in https://ideone.com/0K8tKW
905182905363
#224 #905182
>>905176
>>905168
А еще лучше в некоторых местах сделать
if "beg" in action ...
Обходить кортеж с множеством вариантов нету смысла, так как все варианты содержат общий признак
905198905363
#225 #905195
>>900337 (OP)
Посоветуйте хорошо-написанных программ, чтобы приучиться к хорошему стилю, разбираясь в коде.
905221905227
#226 #905198
>>905182
Да, ты прав. Я че-то не додумался.
905251
#227 #905221
>>905195
Смотри большие публичные проекты вроде flask, django и тд. Ну и pep по оформлению кода
#229 #905251
>>905198
Ты чё, сучара,ты чё,а?!Благодарность за меня говоришь,пидор!А может жопу,скотина,мне начнешь сам подтирать,мразь,я ведь такой,блять,несамостоятельный?!Плюю на твоё собачье ебало,ублюдок!
905253
#230 #905253
>>905251
Начну березовым елдаком
905260
18 Кб, 500x375
#231 #905254
>>905151
Але, блядь. Ану ответили быстра блядь.
905257905258
#232 #905257
>>905254
Артём?
905259
#233 #905258
>>905254

>Currently, Pyston targets Python 2.7, only runs on x86_64 platforms, and only has been tested on Ubuntu. Support for more platforms -- along with Python 3 compatibility -- is desired but deferred until we feel successful on our initial platform. Pyston does not currently work on Mac OSX, and it is not clear when it will.



Еще и, небось, сишные расширения не канают. Нахуй он тебе нужен?
#234 #905259
>>905257
Дима?
#235 #905260
>>905253
А зачем тебе дома березовый елдак?Может ты из этих?Я и так знаю что ты пидор
905262
#236 #905262
>>905260
Специально выстругаю, жепку тебе подтирать, пока самостоятельным не станешь.
408 Кб, 1366x768
#237 #905292
Кароче не поленился скачал на пощелкать.
Лицуха действительно сразу вшита. Версия pro, джанга и прочие про-фишки на месте. Так что тем кто не хочет воровать вполне пойдет посмотреть что да как. Про автокомплит сказать пока нечего, нет под рукой более-менее жирного проджекта чтоб скормить.
Почему-то не подхватились настройки хинтинга шрифта из системы (в системе легкий, в шарме полный), но это может openjdk шутит так. А может так бай дизайн задумано.
#238 #905363
>>905176
>>905182
Спасибо,анончик:3Но можешь мне еще немного помочь и подсказать как зациклить этот алгоритм,чтобы он при выпадание else,начинался с начала?
905382
#239 #905382
>>905363
while True:
...
?

mimo
905387
#240 #905387
>>905382
Можешь на данном примере это расписать?Что то не получается.
905402905405
#241 #905402
>>905387
http://pastebin.com/5K116NtA
Да хоть так, прости господи.
905471
#242 #905405
>>905387
Ну вот пример https://ideone.com/xWuNML

while True запускает бесконечнй цикл.
В данном случае пользователю будет предлагаться ввести слово.
Если он ввел "stop", то выведем "1" и прервём цикл с помощью оператора break.
В противном случае, будем выводить 'Looks like you have amnesia.Try again' и предлагать ввести слово еще раз.
905471
65 Кб, 800x614
#243 #905421
>>901705
Мне теперь подбирать так всегда, чтобы глаза не кровоточили?

>>901722
Да-да-да. Но Django ценен contib приложениями. Чтобы хуяк-хуяк и в продакшен. И глаз радовался.

Иначе можно из flask + flask-admin накостылять то же самое, только с винительным падежом и с нуля.

Так что вопрос в силе. Что можно наименьшим костылянием в Django 1.10 сделать? Все инструкции за 09-11 года скурил. Словари для этого подключать слишком жирно.
905981
#244 #905426
Антоши как записать в БД список, что б форматирование сохранилось. Ибо в postgresql мои [...] заменяются на {...}, потом хуй нормально распарсишь.
Коллекционер !!X728LErjUY #245 #905455
Привет всем, мамкин пограмист вкатывается в тред
#246 #905468
Как реакт на пайчарме завести? Хочу все реакт-файлы в джанго-проекте сразу держать.
905478
#247 #905471
>>905402
>>905405
Спасибо,антоши.Люблю вас!Ня:3
#248 #905478
>>905468
пайчарм просто тупо не видит установленный реакт, втф?
#249 #905486
Что есть в пичарме комьюнити-ед чего нет в чайнике?
#250 #905498
>>905037
слетел старый сервер после обновления, новый нагуглил 2 минуты)
#251 #905550
>>905076
python3
#252 #905553
Как в питоне (3.6) вернуть определенное кол-во данных в списке? например первые 50
905557
#253 #905557
>>905553
lst[:50]
905559
#254 #905559
>>905557
Спасибо, антош
#255 #905595
Джанга жива еще или как Рельсы уже всё ?
905620905689
sage #256 #905620
>>905595
Процветает, даже б сказал
#257 #905689
>>905595
Не нужна. Есть нода, есть куча актуальных пхп фреймворков.
#258 #905739
Анончики,это снова я.Строки 21-24 должны возвращать к самому началу цикла,но вместо этого они бесконечно себя повторяют.Хелпаните,плз.
http://rextester.com/PZIVV99930
905810
#259 #905785
А ещё подскажите,как заблокировать часть цикла,чтобы он сработал единожды?
http://rextester.com/CVNWJ52896
905810
#260 #905810
>>905739
>>905785
Подумай над тем, чтобы хранить диалоги\события в каком-то формате(напр. XML). На ифах и циклах ты далеко не уедешь.
http://stackoverflow.com/questions/372915/game-logic-in-xml-files
http://stackoverflow.com/questions/1840154/rpg-dialogue-engine-
906086
76 Кб, 1225x475
#261 #905930
Нет друзей-программистов, как и самих друзей в целом, поэтому сап, пр. Как можно реализовать ввод цифр после пробела, а после и сама работа с ними? (Сам думал сделать это через строку, а после разбить на N кол-во цифр(но как после работать с каждой отдельно? Или можно как-нибудь перемножить блок этих символов, переведя их в цифры?). Креплю пик с задачей, но от неё нужен лишь алгоритм для получений входных данных и дальнейшей работы с ними. Заранее спасибо.
905972906173906178
#262 #905972
>>905930
нет
905991
#263 #905981
>>905421
pymorphy
#264 #905991
>>905972
А как тогда проинициализировать данные через пробел и работать с ними?
#265 #906032
Сап, питонисты, есть тут люди, которые использовали библиотеку Requests для авторизации на ютуб?

Суть моей проблемы, что POST ничего не делает в окне авторизации.

http://pastebin.com/N8CB1C5j
906038
#266 #906038
>>906032
Можешь взять вроппер и не ипать мозг, либо посмотреть как там сделано.
906056
#267 #906056
>>906038

не будет работать, проблема при авторизации, что то не так с POST запросом, а вот что именно, вот это уже вопрос.
906058
#268 #906058
>>906056

Т.е.
Я посмотрел КАКИЕ данные отправляет форма в инспекторе, ввел все так же, но... НЕ РАБОТАЕТ.
906070
#269 #906070
>>906058
https://github.com/youtube/api-samples/tree/master/python
Ну епту. И еще 100500 врапперов.
906098
#270 #906086
>>905810
Дяденька,а может как-нибудь без этого обойдемся?Ну или хоть расскажи как этот xml в питон вставить.
#271 #906098
>>906070

Знаю про api, но в нем есть несколько не достающих функций. И вот поэтому я взялся за requests.
api я отложил сразу на дальнюю полку.

Так вот, если не requests/api, может Requests + Selenium.
906099906102
#272 #906099
>>906098

>сли не requests/api, может Requests + Selenium



Если НИЧЕГО не получиться, то возьмусь за api
#273 #906102
>>906098
Ну а без апи ловить питоном там нечего. Почти все на js. Либо тянуть серъезные пакеты для автоматизации браузера, либо искать другие методыю
#274 #906173
>>905930
A, B, C, D, E = (int(i) for i in input("Enter 5 numbers: ").split(' '))
906178
#275 #906178
>>905930
>>906173
Или даже так:
A, B, C, D, E = map(int, input("Enter 5 numbers: ").split())
#276 #906291
Пиздец пичарм говнище, даже кастомные комментарии сделать нельзя. У меня они все вида '# ~'. Мне их теперь все руками перепиливать что ли?
906297906330
#277 #906297
>>906291
Бротиш у нас тут конвенция, стандарты. Если зоопарк нужен то JS рядом.
906298906301
#278 #906298
>>906297
Сомневаюсь что это со стандартами связано.
#279 #906301
>>906297
Алсо, пеп - не стандарт, а рекомендации.
906304
#280 #906304
>>906301
Свитер тоже можно через ноги надеть.
906306
#281 #906306
>>906304
Как что-то плохое.
#282 #906330
>>906291
А зачем оно таким было, если не секрет?
906336909189
#283 #906336
>>906330

> А зачем оно таким было, если не секрет?


Препод говорит, что нестандартное развивает нестандартное мышление, вот и привык такие комментарии ебашить.
906337906377
#284 #906337
>>906336
лол, ну ебись теперь.
#285 #906356
Как в пайчарме включить реакт в джанго-приложении? Когда отдельно запиливаю реакт-апликуху - все работает нормально, но стоит начать запиливать реакт-апликуху непосредственно в джанго приложении, как тут же он начинает тупить, не видит модуль реакт, и вообще хер знает что творится. В сеттингсах копался - ничего не нашел. В гугле тоже нет внятной инфы.
#286 #906377
>>906336

> нестандартное развивает нестандартное мышление


Ебанутый препод у вас.
#287 #906385
list=['x','y'','z']
Как удалить х,если он может находиться в любом месте списка?
906412906421
#288 #906396
Кого-то коснулся уже принудительный перевод в Го-макаки?
#289 #906412
>>906385
Возможно как-то так.
list.pop(list.index('x'))
906418906467
#290 #906418
>>906412
Лю тя,анончик<3
906467
#291 #906421
>>906385
list2 = [i for i in list if i != 'x']
906424
#292 #906424
>>906421
Ходить циколм по списку и записывать результат еще в один, при том что список можно менять. Ты серъезно?
906426
#293 #906426
>>906424
Это ж питон, и так всё медленное. На микрооптимизации похуй.
906428
#294 #906428
>>906426
А на цирк из миллиона переменных тоже плевать?
119 Кб, 650x803
#295 #906449
при чтении файла в binary mode и последующем выводе его на консоль python3 выводит ещё и маркер бинарных данных.
Т.е код
f = open("1", "rb")
print(f.read(1))

прочитает \x90 а выведет в консоль b'\x90'
как вывести без в консоль именно то что бы прочитал?
906454
#296 #906454
>>906449
Как там Лада? Сидит уже?
906457
#297 #906457
>>906454
Автопром в /au
#298 #906467
>>906412
>>906418
list.remove("x")
906487906508
#299 #906487
>>906467
Ну ладно,тебя люблю немножко сильнее^_^
#300 #906493
Анончики,я тут игру в первый раз сделял.Как вам?
http://rextester.com/GOZTC93136
906498906922
#301 #906498
>>906493

> You waked up in dark jail.After your face sits dirty old man


Может лучше на русике?
906551
#302 #906508
>>906467
С таким знанием стандартных либ мне не перезвонят. Но я и не просил.
#303 #906546
Хочу сделать так, чтобы аиохттп и джанго коннектились к одной дб. Типа чат приложение + все остальное. Мою дб не распидарасит с такой хуйни? Как это вообще реализовать, если это возможно?
#304 #906551
>>906498
Не цепляйся к мелочам,десу.Лучше скажи как вобщем плане.
906600906604
#305 #906600
>>906551
Без вариантов действий - полная чушь. Как я должен догадаться, что отвечать на "So how your new home for ya?"?
906604906614
#306 #906604
>>906600
>>906551
Или просто выводи свой help по дефолту. Я о нем узнал, только когда в код полез, например.
906607906614
#307 #906607
>>906604
Хотя это все равно нихуя не помогает.
906614
#308 #906614
>>906600
>>906604
>>906607
Казуал,плиз.
906630
#309 #906630
>>906614
Ясно.
#310 #906681
Ребят, учипте aiohttp. За ним будущее, джанга скоро сдохнет, а это просто бомба нахуй.
906684
#311 #906684
>>906681
Было сложно уловить юмор но мне удалось.
#312 #906775
Есть тут знатоки по Ютуб Апи?
Как с помощью этой зверушки поставить лайк/дизлайк на коммент.
Все что нашел в доках - https://developers.google.com/youtube/v3/docs/comments#properties
там есть параметр canRate/viewerRating
Но как оперировать этими значениями?
906777
#313 #906777
>>906775
О5 на связь выходишь шакал.
youtube/v3/code_samples/python#like_a_video
906783
#314 #906783
>>906777

>youtube/v3/code_samples/python#like_a_video



Нет, не видео. Комментарий. Могу удалить, изменить, написать, ответить, НО, не могу поставить лайк/дизлайк
Если бы все было настолько очевидно, я бы за помощью не обращался.
Тут что то глубже.
906790
#315 #906790
>>906783

В функции update, есть что-то напоминающие,
аргумент snippet, и ему присваивается значение единицы.
В ссылке выше есть разные snippet.canRate/snippet.viewerRating... и т.д

что делать то?)
906792
#316 #906792
>>906790
https://stackoverflow.com/questions/34339966/youtube-api-v3-rate-like-dislike-comment-commentthread
Бротиш я буду с тебя бабки брать за услуги поисковика.
906802906811
#317 #906802
>>906792

Это еще утром видел, это мне не дает никакой пользы.

>>Nope. I don't think it's possible, unless something has changed since december. – Jacka Mar 6 '16 at 16:44



НО!!! Есть одно большое НО!!! Он удосужился хотя-бы лайкать свой собственный комментарий.
И вот за этим я гнался с самого утра. И пришел сюда.

>>By trial and error I've only managed to like my own comment, and passing textOriginal was also required to make it pass. – Jacka Dec 18 '15 at 10:34



Только КАК? В теле метода update нет возможности реквеста(? или есть)
#318 #906811
>>906792

Небольшой update:
Может я смогу передавать реквест через body
т.е
update_result = youtube.comments().update(
part='snippet',
body={'id' : id, 'viewerRating' : 'like'}
).execute()
Но это возвращает:

>>HttpError 400 when requesting https://www.googleapis.com/youtube/v3/comments?part=snippet&alt=json returned "The request metadata is invalid."

906824
#319 #906824
>>906811
Я не читаю всю ту хуйню что ты тут пишешь, но всегда есть явное рабочее решение - симуляция. Так что смотри свои селениумы, фантомжсы и прочее. Производительности не жди, разумеется.
906836
#320 #906836
>>906824

А мне нужна производительность.
Буду долбить пока апи.
#321 #906848
УРА!!! получилось!
906883
#322 #906883
>>906848
Держи нас в курсе.
#323 #906922
>>906493

>print('"Nice to meet ya,'), (name), ('"')


https://pyformat.info/

>for object in cell_enviroment


object - зарезервированое имя

Поделить код на функции, а саму игру оформить как класс
#324 #906948
Как сделать так чтобы можно было получать доступ к неизменяемому типу данных с двух переменных независимо друг от друга?
Например, чтобы работало:

> a=1


> b=a


> b=2


> a


2
906949
#325 #906949
>>906948
In [53]: a = [2]

In [54]: b = a

In [55]: b[0] = 1

In [56]: a
Out[56]: [1]
906954
#326 #906954
>>906949
У меня такая ситуация, что нельзя просто взять и завернуть неизменяемый тип данных в лист. Есть готовый кусок чужого кода, который я хочу расширить, но мне больно следовать традиции автора делая переменные в духе: Вася_ХП, Вася_МП, Петя_ХП, Петя_МП и функции типа:

> def drain_hp(кто, сколько):


> > if кто == 'Вася': Вася_ХП -= сколько


> > elif кто == 'Петя': Петя_ХП -= сколько



Я бы хотел писать свою часть собрав Петю и Васю в экземпляры класса и обрабатывать их методами класса, но нужно чтобы и старый индусский код тоже продолжал работать, а для этого изменение Вася_ХП должно без дополнительных манипуляций в старом коде изменять и Вася.ХП.
906956
#327 #906956
>>906954
Геттеры-сеттеры напиши.
906957906968
#328 #906957
>>906956
Разве можно написать сеттер для глобальной переменной?
906958
#329 #906958
>>906957
Напиши для тех, которые будешь у себя в классе использовать, например.
#330 #906968
>>906956
Вроде помогло. Спасибо за подсказку.
26 Кб, 501x332
#332 #907062
Можно ли вернуться в начало кода, или же мне хуярить цикл размером в код?
907086907327
77 Кб, 467x440
#333 #907086
>>907062

> вернуться в начало кода

#334 #907095
Анонище, подсоби, пожалуйста.
Как можно заставить джангу прочитать строку или файл с текстом как собственный шаблон для html?
907440
#335 #907140
Как на питоне сделать чтобы через определенные промежутки времени из переменной вычиталось/прибавлялось число?
907143
#336 #907143
>>907140
import time

number = 0
while True:
....number+=1
....time.sleep(60)
while True - бесконечнй цикл
sleep() устанавливает задержку в секундах.
907161
#337 #907161
>>907143
Спасибки:3
#338 #907195
Вечер в хату антуанты, подскажите пожалуйста, как мне найти совпадения рандомного числа, и числа из списка? Пытался сделать так, но программа спотыкается об ошибку, если совпадения нет:
r1 = random.randint(0, 8)
r2 = m2.index(r1)
Ошибка:
r2 = m2.index(r1)
ValueError: 6 is not in list
907208
#339 #907208
>>907195
if r1 in m2:
#340 #907238
Сап двощ, как вообще программировать? Вот я прочитал полностью укус питона, и ничего не умею, максимум какие-то вычисления в командной строке. Как делать полноценные программы и что для этого нужно?
907239
#341 #907239
>>907238
Выбери себе какое-то задание, типа "написать консольное говно, которое будет хуи аски-артами рисовать". Ну и сделай, собственно. Не знаешь - гуглишь. А может это вообще не твое.
907246907258907290
#342 #907246
>>907239
Вот этого двачую.Практика лучший учитель.
58 Кб, 960x360
#343 #907258
>>907239
Она не спрашивала "что?", она спросила "как?".
#344 #907284
Блять, пиздец с этим апи ютубовским.

хмм, вопрос такого плана:
Можно ли, посылать keystroke(инпут с клавиатуры) в много-МНОГО приложений одновременно?
Т.е НЕ: Выбираем окно А(чтобы оно стало активным) -> Отсылаем инпут -> Выбираем окно Б -> Отсылаем инпут... и т.д.

А одновременно, что то вроде pywin32 (Win 32 Api), pywinauto.
Если нет, то:
Можно ли Эти приложения(в которые я хочу инпут отсылать) сгруппировать в одно БОЛЬШОЕ приложение?
907285
#345 #907285
>>907284
ОЙ, как раз в pywinauto, pywin32 нет такой возможности, чтобы сразу отсылать во все окна, сори.
907286
#346 #907286
>>907285
Гуглил, ответов не было, если че.

Мне нужно что то в стиле AutoHotKey
34 Кб, 395x396
#347 #907290
>>907239
Поддвачну, курил мануалы месяц, но так нихуя ничему и научился, пока не стал ставить реальные задачи. Просто встаю с утра, и говорю: хочу йобу, которая будет считать время работы компа, или например, парсер тредов из б по нужным мне словам. Если не знаю как сделать, гуглю. Так знания и приходят.
Сегодня кстати написал консольные крестики нолики. Просто, захотелось.
#348 #907297
>>900337 (OP)
Стоит ли перекатываться сюда после джавы? Сам работаю джава разрабом, но меня что-то подзаебало. Хочется разнообразия.
907331907332
#349 #907327
>>907062
continue попробуй
#350 #907331
>>907297
Что мешает изучить и использовать параллельно с джавой? Вы какие-то странные.
#351 #907332
>>907297
Что мешает изучить и использовать параллельно с джавой? Лишним точно не будет. Вы какие-то странные.
#352 #907369
http://pastebin.com/6LNKhche
Как нужно скобку поставить.Помогите давну
907373907441
#354 #907404
нид хелп с регуляркой
есть строка: 'esdfd((zxcv)(esdf' нужно получить все подстроки вида:
(zxcv , (esdf - то есть строки с открывающейся скобкой, если перед открывающей стоит открывающая ее нужно проигнорить.
проверил тут: https://regex101.com/r/ZghzBE/1 вроде находит, делаю эту регулярку в питоне, не находит: http://pastebin.com/ZJuNqmYp
ЧЯДН?
907448
#356 #907441
>>907369
Пизда, и такие дауны идут в веб-макаки
907589
#357 #907448
>>907404
In [393]: re.findall(r'(\(\w+)', IN)
Out[393]: ['(zxcv', '(esdf']
907450
#358 #907450
>>907448
спасибо, с этим я разобрался теперь другая задача, как найти все не закрытые скобки, например:
из esdfd((zxcv)(esdf нужно получить (esdf, а эту группу проигнорировать: esdfd(
хз как сделать
907453
#359 #907453
>>907450
пробую так https://regex101.com/r/ZghzBE/2 не получается
907455
#360 #907455
>>907453
Не очень тебя понял. Ты хочешь сматчить то, что в скобках?
907456
#361 #907456
>>907455
наоборот, то что не закрыто )
из из esdfd((zxcv)(esdf
нужно (esdf
907459
#362 #907459
>>907456
вот так почти то что надо :)
https://regex101.com/r/ZghzBE/3
#363 #907546
Как сделать сеттер и геттер для уже существующего экземпляра класса?
907559
#364 #907559
>>907546
Просто взять и добавить их к объекту? Или ты хочешь именно property сделать, а не методы set_x, get_x? Тогда всё сложнее. Можно, например, засабклассить оригинальный класс и сменить класс твоего экземпляра, не забыв при этом сохранить и присвоить старые значения атрибутов, котоые на проперти меняешь, иначе ошибочки вылезут.
http://ideone.com/Iqmnd6

Решение, впрочем, довольно спорное, за такую смену класса могут и по башке тимлиды дать, наверное.
#365 #907564
Что-то я тупой. Как сделать так, чтобы sublime text в режиме Automatic выбирал мою build system, с третьим питоном, а не дефолтную устаревшую? Вручную если выбрать всё ок, но это не очень удобно каждый раз туда-сюда менять.
#366 #907585
Придумайте программу, в которой из одной функции вызывается вторая. При этом ни одна из них ничего не возвращает в основную ветку программы, обе должны выводить результаты своей работы с помощью функции print().
http://rextester.com/FRJ6745
Я правильно все сделал?
7 Кб, 290x111
#367 #907588
Подскажите как побороть вот эту клоунаду с "n" (imagelist столько же сколько и аутпутов)? Может быть есть метод в цикле узнать номер итерации или что-то подобное?
Или это нормальный вид кода?
907606
#368 #907589
>>907441
Нет
#369 #907600
http://rextester.com/AOQK32059
Короч,action1 приравнял к функции action и сравнивая значение action1 должен выводиться результат,но че то не получается.ЧЯДНТ?
#370 #907606
>>907588
for i,value in enumerate(iterable):
#371 #907609
выбрать товары, цена которых больше или равна 100, сгруппировать по категориям и посчитать количество товаров в каждой категории.
модели http://pastebin.com/UELvxntf
сделал так:

> p_qs = Product.objects.filter(price__gte=100).values('category__name').annotate(product_count=Count('category'))


группирует норм:

> [{'category__name': 'apples', 'product_count': 12}, {'category__name': 'oranges', 'product_count': 2}]


теперь нужно вывести только те категории, в которых > 10 и я хз как фильтровать по product_count
Может кто подсказать?
907636907656
#372 #907626
Хочу сделать программу, которая скачивает картинки. С чего начать?
907629907631
#373 #907629
>>907626
requests
907632
#374 #907631
>>907626
С блок-схемы. И гугла всего двух запросов: "питон сделать http запрос", "питон записать данные в файл", но на английском, разумеется.
#375 #907632
>>907629
Хотя если важен только результат, я бы начал с изучения уже готовых решений.
#376 #907636
>>907609
пиздец. пришлось ради этой хуйни скюэль писать http://pastebin.com/MJBiNSDZ
выводит вроде правильно, но я в sql нуб нубский, скажите хуйню нагородил?
907750
299 Кб, 381x678
#377 #907640
#378 #907656
>>907609

>я хз как фильтровать по product_count


qs = [p for p in p_qs if p['product_count'] > 10]
?
907690
111 Кб, 645x600
#379 #907660
В одном пакетике PySide мне предлагается сделать так:
class KeyPressEater(QObject):
...
keyPressEater = KeyPressEater(self)


И оно почему-то работает. Что это такое, куда передается self?
И почему объявление def __init__(self): ... в KeyPressEater все ломает?
И, тем более, def __init__(self, other_self): ...
908075908077
#380 #907676
dict={'x':{'xz':123,'bv':543},'y':154}
Сап,/pr.Есть многоуровневый словарь и нужно чтобы случайным образом выбирался ключ,совершался переход на подуровень и т.д.,в конце выводя результат.Это как нибудь можно сделать?
907678
#381 #907678
>>907676
Для рандома есть
random.choice
А вот переход на подуровни при условии что неизвестна структура я не помогу. Можно, конечно, проверять в цикле каждый раз данные на тип и если словарь то делать это циклом жо победного, но кажется это бред.
907679907700
#382 #907679
>>907678
Мимонуб, само собой.
907700
#383 #907690
>>907656
а если их сотнипицоттысяч? как пагинация тогда сделать?
907738
#384 #907700
>>907678
>>907679
Что такое структура?Можешь показать как правильно использовать random.choice?

>Мимонуб


Я тож,няш:3
907704
#385 #907704
>>907700
Есть вполне адекватная документация по стандартным модулям. Также есть поиск по коду гитхаба где пример использования понятен за пару секунд.
907708
#386 #907708
>>907704
Ссылочку,плиз,анончик.
907711
#387 #907711
>>907708
Пиздуй в гугл скотина
907713
#388 #907713
>>907711
Твоя грубость попала прямо в сердце,сенпай.
#389 #907738
>>907690

>пагинация


Ну вроде бы со списками тоже работает.
https://docs.djangoproject.com/en/1.10/topics/pagination/#example
907741
#390 #907741
>>907738
работать то работает, но ты предлагаешь сначала выбрать хуелярд записей из бд в список, а потом пагинацию устроить. смысл такой пагинации?
907749
#391 #907749
>>907741
Да, ты прав, смысла нет. Тогда остается думать как это все получить в один queryset.
907750
#392 #907750
>>907749
да сделал уже, только пришлось sql писать, походу вот он конец радуги django orm
>>907636
907765
#393 #907765
>>907750
А если вот так?
p_qs = Product.objects.filter(price__gte=100).values('category__name').annotate(product_count=Count('category')).filter(propduct_count__gt=10)
907767
#394 #907767
>>907765

>propduct


опечатка тут.
907777
#395 #907777
>>907767
jо! работает! спасибо! а я когда пробовал так у меня какая то ошибка вылазила.
907807
#396 #907801
>>900389
Ставь GIT он идет с Bash'ем
#397 #907807
>>907777
Есть еще такая штука https://docs.djangoproject.com/en/1.10/ref/models/conditional-expressions/

И пост на so http://stackoverflow.com/a/33777815/5201699

То есть, если тебе в итоге нужен нормальный queryset из категорий, а не словарей, которые возвращает values(), то можно попробовать сделать так: http://pastebin.com/jTf6FtHH
Оно должно вернуть все категории в которых есть больше 10 продуктов стоимостью от 100 (проверять это я, конечно же, не стал)

Если работает, то это решение будет покрасивее, чем то.
907810
#398 #907810
>>907807
спасибо, обязательно проверю, позже!
907812
#399 #907811
Как передать классу метод из другого класса ?
class Set:
def __init__(self):
....

class Multi
def __init__(self):
Set.__init__(self)

Что я делаю не так ?
907822
#400 #907812
>>907810
Ок, напиши потом, а то мне самому интересно стало.
#401 #907822
>>907811
Возможно, тебе стоит наследоваться от класса Set и вызывать метод родительского класса с помощью super()

class Multi(Set):
....def __init__(self):
........super().__init__()

для python2 будет так:
super(Set, self).__init__()
#402 #907890
http://rextester.com/AOQK32059
Короч,action1 приравнял к функции action и сравнивая значение action1 должен выводиться результат,но че то не получается.ЧЯДНТ?
сорри за перепост,но нехуй игнорить,пидоры
907897
#403 #907897
>>907890
return x
daun
907906907916
#404 #907906
>>907897
Всегда бы так,антош.Лю тя:3
#405 #907916
>>907897
Бля,антон.Цикл пропал.Когда было return action() это дело крутилось бесконечно.А теперь че делать?Я только для этого функцию юзал.
907922
#407 #907925
907926
#408 #907926
>>907925
Вот теперь точно,антоня,большое спасибо.
907927
#409 #907927
>>907926
Пожалуйста. Но лучше пройди какой-то курс по питону, если планируешь дальше на нём что-то писать.
907928
#410 #907928
>>907927
Да прошел я его уже.
#411 #908075
>>907660
Гуры, ну же. Никто питоне классы с наследованием не делал чтоли?
#412 #908077
>>907660
Всем спасибо, сам разобрался.

Для наследуемых классов неявно определен __init__ примерно как super(Classname, self).__init__(*args), и это нужно определить заново.
#413 #908106
Помогите с джанго, ребят. В ангельский могу очень слабо, поэтому нужно на русском.шапку читал, на русском не нашел
908109
#414 #908109
>>908106
http://djbook.ru/rel1.9/ актуальная версия 1.10, но большой разницы с 1.9 нет.
#415 #908143
Оъясните, в чем разница
import anus и from anus import *
Просто чтобы не использовать anus.funcname, а сразу funcname? Исполняется ли init в обоих случаях?
908171
#416 #908171
>>908143
Первое просто импортирует модуль, но ужимает его в намспейсе заставляя тебя писать перфикc модуля anus.huy() шоб ты легко мог ориентироваться, уточняя какой ты будешь вызывать объект.
Второе как ведро мусора, содержимое вывалили сверху в пространство имен, а значит пишешь просто huy(), но помни что может пойти по пизде, если у тебя уже была объявлена функция.
908172
#417 #908172
>>908171
функцию/объект/даже ебаную константу/etc. короч содержимое
селф-фикс
#418 #908173
http://rextester.com/GIL97824
Да что с этими функциями не так?Почему elif и else только со второй попытки водятся?
908224908240
#419 #908195
Можно как нибудь сделать рандомный выбор из нескольких функций?
908197
#420 #908197
>>908195
помести их в список и потом делай random.choice https://docs.python.org/3/library/random.html#random.choice
908217
#421 #908217
908228908263
#422 #908224
>>908173
http://rextester.com/KSJXP39090 Так сойдет ? Просто онлайн движок не видит input() и raw_input() и поэтому у тебя в коде http://rextester.com/GIL97824 возбуждаетммм EOF error+ show input в жёлтом окошке введи action().
Так же ты просто написал бесконечный цикл потому что True никак у тебя не изменяется. Поэтому он доходит до 10 секунд и говорит идти нахуй.
Input() вроде еще и нихуёвую уязвимость имеет, индус в байт питоне дал ссылку на redfox мамкиного специалиста.
#423 #908228
>>908217
http://rextester.com/MQXXK82593
PEP8 почитай еще.
908239
#424 #908239
>>908228
Что за хуйню ты тут наделал? На 14-ой строке же всё по пизде пойдёт.
#425 #908240
>>908173
input возвращает строку, а ты это потом с числом сравнить пытаешься.
#426 #908263
908267
#427 #908267
>>908263
Конечно можно было int.__add__ и int.__sub__ заместо лямбд, но так было бы совсем не красиво
#428 #908372
Доны-питухоны, подскажите, зависит ли скорость питухоновских скриптов да и самого движка от ОС?
908376
91 Кб, 260x295
#429 #908376
#430 #908418
Аноны, кто может завтра в 9:00 по Мск помочь решить задачи на Python с применением библиотек pandas и numpy?
908433
#431 #908433
>>908418
120 долларов в час. к твоим услугам, kaggel топ 50.
#432 #908483
Почему удаляется всё ? Я хотел просто имена классов оставить.

http://pastebin.com/ncVRi1wB
908610
14 Кб, 300x300
18 Кб, 1167x607
#433 #908484
Я наконец-то сделал свой первый скрипт оксфордского словарика, который берет текст из апи и копирует его в буфер и еще открывает ссылку гугл картинок, пока только через консоль работает

Если кому интересно я могу скинуть весь код и можно вместе его доделать
908503908506908513
#434 #908503
>>908484
Кидайте, не томи, заценим. Сколько по времени писал кстати?
908506908535
#435 #908506
>>908484
>>908503
Семён Семёныч!
#436 #908513
>>908484
Допили транскрипцию МФА
908535
#437 #908535
>>908503
http://pastebin.com/FAmCchFh
Не знаю сколько по времени писал, я около недели гуглил и читал уроки по питону, мне главное чтоб он работал и можно было копировать текст в анки, я его в exe файл компилировал и использую

>>908513
Я не знаю как, я это еле сделал
Молодой кошелох #438 #908545
Молодой макакен вкатился. У аборигенов есть конфа?
908547
#439 #908547
>>908545
Таким тут не рады.Уходи.
908548
#440 #908548
>>908547
Понадобилось 6 минут чтобы услышать пердеж.
За этим и нужна конфа, АЛО.
#441 #908608
Паг'ни, спасайте мой диплом. Смотрите, у меня есть класс Message, в нём два субкласса, Header и Body. Нужно, в общем, сделать так, чтобы
а)Без задания ВСЕХ аттрибутов Header невозможно было создать Body
б)Чтобы Body не был вложен в Header, то есть не Message.Header.Body, а именно Message.Header и Message.Body

Вопросы:
1.Это вообще реально?
2.Это вообще нужно, или есть менее извратные способы?
3.Если реально, то как?
908616
#442 #908610
>>908483
Ты написал полнейшую чушь. Определись, откуда ты хочешь что-то удалить и куда это записать. Расставь везде принты, посмотри, что и на что ты изменяешь.
#443 #908616
>>908608

>Чтобы Body не был вложен в Header, то есть не Message.Header.Body, а именно Message.Header и Message.Body


Не знаю на счет питона, но в других языках в одном файле можно описывать сколько угодно вложенных классов.
Снаружи они не видны понятное дело - они внутренние, служебные.
Обращение идет к классу Message, а он в свою очередь стучится к своему подклассу.

>Без задания ВСЕХ аттрибутов Header невозможно было создать Body


Ну так опиши логику этого в классе Message, или в хидере.
Если свойства накапливаешь, т.е. наполняешь хидер свойствами через несколько вызовов - в Message создай и наполняй структуру хидера, и либо контролируй ее целостность каждый вызов, либо проверяй целостность по какому-нибудь методу header.complete/header.iscomplete.
Если все свойства передаются зараз, обьяви один конструктор хидера, перечисли в нем свойства, и проверяй их заполненность - тогда если хоть одного свойства не будет, конструктор выбросит ошибку/исключение (как оформишь).
908634
#444 #908626
Анончик, загорелся тупой идеей создать электронный журнал для школы/шараги/универа. Имеются начальные знания питона. Какую литературу посоветуешь? flask или django? sqllite совсем плохо или можно использовать? Ах да, проект скорее всего пойдет как диплом.
908635908645
#445 #908634
>>908616

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



Это да. Но я просто долго не мог придумать, как проверять заполненность Header при создании Body, если они формально независимы и просто являются членами одного класса. Думал, что придётся делать один класс вложенным в другой.

>Message создай и наполняй структуру хидера


В Питоне, эммм... Беда большая, с этими C-like structures.

Объясню логику: Создаём Message.Header, в него запихиваем кучу битовых данных.
Message.Body глядит в этих битовые данные хедера по определённому адресу, находит там значение и в зависимости от него создаёт экземпляр с тем или иным набором свойств.

То есть если у нас в хедере, по адресу 0x0215 лежит "1A", то мы создаём Body со свойствами "login", "password", "speed" и константой INIT_SEQ_FINISH в конце, а если там лежит "1B", то мы тупо создаём array of string. На самом деле там куча разных вариантов может быть.

Был бы хотя бы пример кода, млять... Упёрся в то, что никогда толком объектно не писал
908657
#446 #908635
>>908626
flask - проще стартануть. Подойдет для написания маленьких приложений. Если захочешь написать что-то сложное, то нужно устанавливать всякие сторонние пакеты и следить за тем, чтобы оно все работало, потому что во фласке почти нихуя нету по умолчанию.

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

По django есть книжка Адриана Головатого. Но она пиздец какая старая, примеры оттуда не смотри. А вот в целом почитать про фреймворк и как он устроен там можно. Ну и официальная документация, конечно. По фласку ниче не подскажу.
#447 #908645
>>908626
sqlite хорошо. нихуя настраивать не надо, питон его поддерживает, в джанге проект создается с ним по умолчанию - очень удобно. для маленьких и средних сайтов норм.
#448 #908657
>>908634

>То есть если у нас в хедере, по адресу 0x0215 лежит "1A", то мы создаём Body со свойствами "login", "password", "speed" и константой INIT_SEQ_FINISH в конце, а если там лежит "1B", то мы тупо создаём array of string


Т.е. хидер это просто селектор, который выбирает список полей тела?
И тебе нужно проверить, чтобы все свойства конкретного списка были заполнены?

Тогда решение очевидно: заставь проверять наполнение списка того, кто знает этот список - сам этот список. Т.е. запили списку метод header.isFull

Тело создавай, опросив метод isFull, и убедившись что все ок, а если не ок - надо как-то прореагировать: ошибка/исключение/запрос донаполнения/следующего атрибута

Сами списки полей можешь либо хранить в операторе селекта (select case/switch/что там еще у питона), либо, что в стиле ООП - каждый список опиши в отдельном подклассе/конструкторе подкласса.
Если списки пересекаются, во всех случаях можно сократить код, переопределив вызовы. Например если один опкод генерит структуру abc, а другой bc, то первую можно переписать в стиле: abc=a+bc, тогда bc будет вызываться в нескольких случаях.
Также, если в питоне есть наследование, можно сократить код за счет него, вынеся все общие части в общий класс, а разницу запилив в наследниках.
908664908666
#449 #908664
>>908657
Хидер -- не просто селектор, там ещё куча всего передаётся, вообще это API для жутко древнего и считающегося очень надёжным протокола, который должен гарантированно передавать данные на скорости 4800, чуть ли не в глубокий космос, после ядерного удара и в условиях ведения РЭБ всеми вероятными противниками разом.
Документации нет. Исходников нет (да они бы мне и не помогли, если только тут есть кто-то, кто знает А68К). Нихера нет. А сделать надо, чтоб человеки работать с этим могли, а не голову себе ебать.
#450 #908666
>>908657
За консультацию огромное спасибо. Понял, что и где, буду реализовывать. Мегаполезный пост, всегда знал, что на Дваче мне нормально ответят.
#451 #908684
Не закидывайте тряпками понимаю, что не так?
908686
141 Кб, 1526x704
#452 #908686
>>908684
Отвалилось.
908696
#453 #908696
>>908686
by_three возвращает by_three
908702
157 Кб, 1539x803
#454 #908702
>>908696
Как просто, спасибо! Я догадывался, что он ссылается сам на себя. Хотя не пойму как твоё сообщение наставило меня на путь и все сразу получилось.
908705
#455 #908705
>>908702
А ты наркоман.
Нужно было return cube(n) и return false
908708
#456 #908708
>>908705
Я можно сказать вчера впервые учить язык программирования начал. Питон это нормальный выбор для новичка? Ну ещё и by_three(3) можно было написать и без x обойтись.
908716
#457 #908716
>>908708
Давай разным вещам разные имена, уж хотя бы в пределах одной фукнции, ни до чего хорошего твой подход не доведёт.
#458 #908855
Привет, двощ. Ищу анона, который умеет програмить на питоне для создания совместного проекта.
Коротко о проекте: текстовая мморпг для мобильного приложения telegram.
Делаю это чисто ради фана, кто хочет/может помочь чем-то, пишите на почту, скоординируемся.

sekrvyatoixduhANUSgq+)mailPUNCTUMco,bRm
908872
#459 #908872
>>908855

>svyaduFtoixduhANUSgmaitU-lPUNCTUMco$f|m


Написал, проверяй.
#460 #908874
как вы на этом питухоне пишите, это же бля днищеебаное
908878908890
#461 #908878
>>908874
ещё один впечатлительный неофит? ты и на 1с писать будешь радостно улюлюкая, главное мотивацию подобрать.
#462 #908887
Вопрос из реального мира.

У меня лежит funcs.py, в котором я храню функции для обработки данных чтобы не плодить говнокод во вьюхе. Как то разбиение данных регулярками, отправка реквестов и т.п. Вид файла соответственно:
import re
import grequests
import chlen

def regex_search():

def send_req():

def otsos_chlena():

Когда я импортирую во вьюху при помощи from funcs import regex_search, будет ли дополнительно импортирован только re, использующийся в ней, либо же будут выполнены инициализации нахер не нужных в этой функции grequests и chlen?
908900
#463 #908890
>>908874
Конкретно и попунктно пажалста?

Например я пишу, тому що ненавижу сложные перлоподобные конструкции, нечитаемый код и сишный синтаксис. За долгие годы я его возненавидел так, что даже горькая редька сахаром покажется. А на Питоне, конечно, можно изъ...ваться, но совершенно необязательно, в отличие от тех же крестов и решёток. А скорость его мне по...й как-то, я макет на нём ваяю, а кодеры на крестах переписывают.
#464 #908900
>>908887
Блядь, ну вот а попробовать так сложно, что ли? Как вы вообще можете что-то там программировать, если банально не в состоянии даже поковырятся хоть немного, 5 строк текста в трёх файлах написать, вместо задания вопросов на сайте?
Да, всё будет импортироваться, потому что модуль всё равно целиком загружается. Да и откуда питону было бы знать, что ты там в какой-то конкретной функции используешь?
Но импортироваться они будут лишь один раз, потом из кэша уже.
908901
#465 #908901
>>908900
А как же рекурсия при импорте. Я думал питон обходит функцию, импортирует вложенные объекты когда на них натыкается, и так далее.
908909
#466 #908909
>>908901
При чём тут рекурсия? Он импортирует модуль и все его зависимости. Он не знает ни о какой функции, пока не заимпортит модуль. Вдруг ты там с одним именем нахерачил десять функций? Или в одном из импортов, напрямую не используемых в функции, изменяешь глобальную переменную другого модуля, который уже и используешь в функции? Пропускать что-то было бы очень опасно.
#467 #909158
Кто-нибудь пользовался aiohttp sessions? Постоянно в ыскакивает ошибка "Cannot decrypt cookie value, " "create a new fresh session. Из-за этого он обнуляет сессию по 100 раз, данные теряются. Все делаю по докам, хз, в чем проблема.
909161909480
#468 #909161
>>909158
Возможно дело в конкретном сайте, который ты ковыряешь.
909166
#469 #909166
>>909161
main.py http://pastebin.com/ZeB5eVZn
views.py http://pastebin.com/bmxsYFgF
settings.py http://pastebin.com/05PyA0ze

Как-то так. Когда загружается страничка,он выкидывает ошибку декрипт куки по 5-6 раз. Потом она загружается. Но стоит опять рефрешнуть - снова орет про куки. Хуй знает, что делать.
909257
#470 #909170
Ребят понравился python. Кроткостью кода и вроде как всё в java, не хочу с толпой. Плюс нравится что python основной в opencv, бигдата,селениум и обширная базовая библиотека. Подскажите плиз в каком направлении копать чтобы быстрей выйти на первую работу? Из интересов на питоне опенсв и хотелось бы написать парсер ) .
192 Кб, 1280x853
#471 #909171
Почаны, есть ли какая-нибудь встроенная функция или библиотека, которая преобразует урл-строки с %20 и прочей хуитой в нормально-читабельную строку?
909173
#472 #909173
>>909171
urllib.parse.unquote
909174
#473 #909174
>>909173
О, спасибо.
#474 #909189
>>906330
Я уже если честно сам не помню, лол.
#475 #909219
https://www.youtube.com/watch?v=DarU2EBINiM

Извиняюсь,что врываюсь и не по теме,но подскажите что за символы в названии ,гугл игнорит и пропускает мимо ,видя их как обычные символы
909232
#476 #909232
>>909219
Широкие/узкие символы для отшибленных, http://www.utf8-chartable.de/unicode-utf8-table.pl (диапазон U+FF00 ~ U+FFEF выбери).
909248
929 Кб, 1280x720
#477 #909248
>>909232 2 чая, знал, что тут мне смогут помочь с моим тупым вопросом.
#478 #909257
>>909166
а если создавать сессию на каждый реквест? алсо покажи ф-ю get_session
909259
#479 #909259
>>909257
Если создавать новую сессию на каждый реквест, то как тогда держать в ней данные?

Гет сессион здесь -
https://github.com/aio-libs/aiohttp-session/blob/master/aiohttp_session/__init__.py
909264
#480 #909264
>>909259
никак)
может быть эта либа коряво отрабатывает
909354
#481 #909354
>>909264
Прикольно, из-за кривой работающей либы вообще придется отсказаться от aiohttp
909390
#482 #909390
>>909354

>придется отсказаться от aiohttp


Да, безусловно верное решение. Зачем пытаться решить проблему, создать issue на гитхабе или еще каким-то образом помочь в развитии библиотеки. Лучше сразу выбросить на хуй этот aiohttp.

Похоже, спотыкается на методе decrypt() https://github.com/aio-libs/aiohttp-session/blob/master/aiohttp_session/cookie_storage.py#L37 и бросает исключени IvalidToken

А вот причины, по которым это исключение может вызываться
https://cryptography.io/en/latest/fernet/#cryptography.fernet.Fernet.decrypt
https://github.com/pyca/cryptography/blob/master/src/cryptography/fernet.py#L73
Возможно это как-нибудь тебе поможет .
#483 #909480
>>909158

> хз, в чем проблема


Дебаж и смотри где именно затык
84 Кб, 612x612
#484 #909557
Где принято независимо, отдельно хранить переменные (или как это вообще называется, состояния?)
Раньше юзал sqlite, но памяти оно дофига жрет, по проивзодительности хз.
Pickle - памяти мало жрет, но нагрузка на диск по идее.
Можно же как-то запихнуть в оперативку пару значений и не таскать мертвым грузом?
909563909567
#485 #909563
>>909557
Ты идиот?
909564
#486 #909564
>>909563
Что не так?
#487 #909567
>>909557
Эээ. Ну если это какие-то констаты, то просто в модуль их выпиши. Как в джанге есть файл settings.py. Если ты хочешь перемещать данные куда-то, то тут сериализация поможет. Самый популярный вариант - просто джейсон в файле. В базу тоже можно писать, если у тебя данные подходят под это. Например я держал всякие настройки в таблице key_value в sqlite. Но у меня база и для других данных использовалась, только для настроек я бы не стал ее заводить.
909569
#488 #909569
>>909567
Не, мне не конфиги, а меняющиеся довольно часто данные. Просто думается, что есть какие-то более изящные решения, чем просто жестко записывать на диск.
Ну ладно, буду по старинке. Вроде даже борда какая-то sqlite юзает.
909570909571909572
#489 #909570
>>909569
Чем тебе обычный словарь не подходит?
#490 #909571
>>909569
Лол, если хочешь сохранять какие-то данные между запусками программы, то конечно надо на диск писать. В базу или в файл. Зависит от ситуации. Можешь нам ее описать подробнее и мы скажем.
#491 #909572
>>909569
Redis?
#492 #909580
>>900337 (OP)
Ребята , посоветуйте годных идей для проектов. + Если не трудно , расскажите какие задачи дают перед принятием на работу (хоть отдалённо)
909581909621
#493 #909581
>>909580
Настоящее асинхронное файловое апи для asyncio.
Асинхронную либу для web интерфейса с виджетами qt, чтобы можно было ui файл скормить.

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


Зависит от работы.
#494 #909621
>>909580
Блог, на несколько пользователей, типа твиттер, с возможностью подписки на отдельных людей и лентой новостей которая формируется из записей тех пользователей на которых ты подписан.
(реальная тестовая задачка)
909624909628909642
#495 #909622
PANDAS
909625
#496 #909624
>>909621
Какой срок на исполнение? Часы? Дни? На какой уровень тестовая задачка?
909627
#497 #909625
>>909622
БОЖЕБЛЯТЬ, 10/10!!!!! Самая охуенная либа для анализа данных из всех виденных (помимо R, да и то не факт). Сколько раз эта няша меня спасала, когда приходилось обрабатывать ебанутейшие объёмы разноформатных данных и приводить их к единому знаменателю.

Но! Ей надо уметь пользоваться!
#498 #909627
>>909624
Двое суток, джун/миддл.
909630909634
#499 #909628
>>909621
Я такое в ночь перед сдачей курсача на втором курсе делал. На питоне слишком просто, да и в интернете наверняка есть уже готовое.
#500 #909630
>>909627
Ниплоха. А если за 10 часов? Го общедвачевское соревнование? Через 10 часов выкладываем тут ссылко на Гитхаб с кодом в той степени готовности, в которой он находится? Ну либо отдельный треад запилить? Только чур код свой!
#501 #909634
>>909627
А. И сразу вопрос -- это Pyre Python если, или Django-Flask?
Потому что если второе, то бэкэнд этой фигни можно вообще за 2 часа напейсать
910102
PEREKOT Perekoter !JLHGEtxGTk #502 #909636
ПЕРЕКОТ в тред >>909635 (OP)
#503 #909642
>>909621
В Django by example было такое только с картинками и ещё чем-то модным. Рекомендую.
101 Кб, 640x427
#504 #910102
Почему программа постоянно выполняет только else ? Аналимус #505 #919522
def season(x):

winter = (12,1,2)
spring = (3,4,5)
summer = (6,7,8)
autumn = (9,10,11)

if x == winter[0:3]:
print('Now is Winter!')
else:
print('Something is wrong !(')

season(2)
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 3 февраля 2017 года.

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

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