Этого треда уже нет.
Это копия, сохраненная 25 августа 2015 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
51 Кб, 800x600
#2 #519551

>2015


>юзать второй питон

#3 #519605
>>519551

>2015


>юзать питон


Поправил.
9 Кб, 588x86
#4 #519618
#5 #519623
Сука блядь заебал этот ваш питон с анальным юникодом. Хули мне делать если в ссылке русские буквы?
#6 #519624
>>519605
А что тогда юзать, мудак?
#7 #519630
>>519623
Юзать третий питон.
#8 #519632
>>519630
Переписать огромный проект (который мне нахуй не уперся) на третий потом бегать с разорванным анусом? Чот я ебал.
#9 #519637
>>519632

>>> urllib.urlopen('https://ru.wikipedia.org/wiki/' + urllib.quote('Тегеран')).read()



Даже во втором работает. Ты даун какой-то.
115 Кб, 1028x139
#10 #519643
>>519637
На, запроси погоду http://api.openweathermap.org/data/2.5/weather?q=%D0%B5%D0%BA%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%BD%D0%B1%D1%83%D1%80%D0%B3&units=metric
Модуль распознавание речи отдает мне юникод \u0435\u043a\u0430\u0442\u0435\u0440\u0438\u043d\u0431\u0443\u0440\u0433
#12 #519657
>>519654
А теперь замени 'екатеринбург' на u'екатеринбург'
#13 #519659
>>519657

>>>urllib.quote(u'екатеринбург'.encode('utf8'))

#14 #519667
Вопросы нубья
в чём смысл присваивать переменной none, а не "" ???
#15 #519673
>>519624
мамашу твою Да ничего, иди вон к тням на улице подкатывай.
#16 #519674
>>519667
В оформлении кода.
#17 #519675
>>519667
None может стать инт.
#18 #519677
>>519673

>2015


>подкатывать к тням

#19 #519712
#20 #519736
>>519677
Ну лан, выбей ачивку король гарема в очередной эроге.

>>519712
Ебанутых людей не видел?
#21 #519743
>>519736
Пусть сами подкатывают, епт. Равноправие, вся хуйня.
#22 #519838
>>519743
Ко мне подкатывают, ёпт.
#23 #519839
>>519838
Сейчас к тебе моча подкатит, не обрадуешься.
#24 #519846
>>519839
Моча здесь вроде тян?
#25 #519847
>>519846
Тогда это все объясняет.
#26 #519908
Вчера в питон треде спрашивали, как записать звук с микро для распознавания речи в дальнейшем. Сегодня на хабре это habrahabr.ru/post/263423/. Совпадение?
#27 #519939
>>519908
Да и судя по говнокоду - это именно наш упоротый.

>C:\Users\Егор

#29 #520031
Есть задача найти в тексте комбинацию символов, вернуться на несколько строк вверх и обработать ее по заданной функции.
Т.е., существует текст вида:

123456
7890
123456
7890
3456
234

Положим, что 234 - искомый ключ, 3456 - строка, которую надо обработать.
Сейчас реализую эту задачу через
list = file.read()
list.split("\n")
Дальше нахожу строку n "234" и возвращаюсь по списку на строку list[n-1] и после этого ее обрабатываю.
Очевидно, что помещать весь файл в list неразумно. Как можно обойтись без списка?
#30 #520033
>>520031
lst = file.readlines()
index = lst.index(key)
print(lst[index - 1])

проверками сам обмаж
#31 #520036
>>520031
>>520033

можешь ещё с readline сделать, если тебе так уперлось не читать весь файл в ОЗУ (быстрее будет, только если у тебя ОЗУ меньше размера файла)
#32 #520042
>>520036
>>520033
С .readlines() не вижу разницы - все равно весь файл в списке, а .readline() не догоняю как предыдущую строку посмотреть. Благодарю за наводку, буду читать про эти методы.
#33 #520054
>>520042
Используй deque ограниченной длины и добавляй в него очередную строку.
#34 #520062
>>519908
>>519939

Не, анчоусы, просто совпадение. Я на джаву перекатился, чтобы локальное распознавание речи было, без сети. Да и винду я не юзаю.
тот кто спрашивал
#35 #520064
>>519999
Нумерацию строк
#36 #520076
Вопрос не столько по питону, сколько, наверное, по ООП и архитектуре в целом.
Допустим, мне нужно создать некое древо элементов, где у родителя есть пара детей, а у них потом ещё. Как правильно сделать возможность добраться от ребёнка к родителю? В голову приходит два способа:
1. Хранить ссылку на объект родителя
2. Хранить идентификатор этого родителя, и иметь в самом-самом высшем элементе-боге методы для получения нужного объекта по его идентификатору?

Т.е.
class Parent <…>

class Child(object):
def __init__(self, parent):
self.parent = parent

print(child.parent)

или
class SuperParent(object):
def __init__(self):
self.first_generation = {}

def find_parent(self, search_id):
for id in self.first_generation:
if id == search_id: return self.first_generation[id]

class Parent <…>

class Child(object):
def __init__(self, parent_id)
self.parent_id

print(super_parent.find_parent(child.parent_id))


Я понимаю, что перебор каждый раз это довольно затратно, если часто делается, но меня смущают эти замкнутые (цикличые, круговые?) референсы родителя к ребёнку, как вообще к этому относятся?
#36 #520076
Вопрос не столько по питону, сколько, наверное, по ООП и архитектуре в целом.
Допустим, мне нужно создать некое древо элементов, где у родителя есть пара детей, а у них потом ещё. Как правильно сделать возможность добраться от ребёнка к родителю? В голову приходит два способа:
1. Хранить ссылку на объект родителя
2. Хранить идентификатор этого родителя, и иметь в самом-самом высшем элементе-боге методы для получения нужного объекта по его идентификатору?

Т.е.
class Parent <…>

class Child(object):
def __init__(self, parent):
self.parent = parent

print(child.parent)

или
class SuperParent(object):
def __init__(self):
self.first_generation = {}

def find_parent(self, search_id):
for id in self.first_generation:
if id == search_id: return self.first_generation[id]

class Parent <…>

class Child(object):
def __init__(self, parent_id)
self.parent_id

print(super_parent.find_parent(child.parent_id))


Я понимаю, что перебор каждый раз это довольно затратно, если часто делается, но меня смущают эти замкнутые (цикличые, круговые?) референсы родителя к ребёнку, как вообще к этому относятся?
#37 #520087
>>520076
Лол, я тут немного обосрался. В общем, функцию find_parent заменить на что-то вроде:
def find_second_generation(self, id):
for child in self.first_generation.values():
if id in child.children: return child.children[id]
#38 #520092
>>520076

>Как правильно сделать возможность добраться от ребёнка к родителю



так вроде для этого super есть
#39 #520101
>>520092
Так это вызов суперкласса, а объекты друг от друга ничего не наследуют, просто связаны друг с другом должны быть, как граф — древесная топология, в общем. Откуда ж ему там знать, что этот объект в каком-то там словаре другого объекта находится.

Возможно, родитель и ребёнок не лучший выбор слов был.
#40 #520201
В учебниках даже обобщенных примеров похожих на это задание не нашел.
Целиком пролистал.
Задание вступительное на Codewars:
The code does not execute properly. Try to figure out why.
def multiply(a, b):
a * b
Что тут делать надо?
#41 #520209
>>520201
Видимо, функция должна считывать два полученных параметра и перемножать их. Словарь, наверное, нужен.
#42 #520210
>>520201
Нету return?
94 Кб, 703x179
#43 #520231
Недавно начал изучать Python3+Django. На своём компьютере всё было нормально. На другом выдаёт такую хуету. Что делать?
#44 #520242
>>520231
Глотать сперму.
#45 #520276
>>520242
Я не пойму, это намёк что я не начал изучать фласко?
#46 #520284
>>520276
Никакой это не намек, тебе прямым текстом сказали что ты спермохлеб, и сейчас страдаешь из-за своих спермопроблем
35 Кб, 453x604
#47 #520288
>>520231
Максимально доступно - ты даже не представляешь как наебешься пытаясь запустить все на венде. И не только питон и его фреймворки. Возьми копеечный впс с линуксами и будь белым человеком.

При этом питон, кстати, еще более-менее юзабелен на венде. В отличи от всяких.
#48 #520289
>>520288
Зачем vps, виртуалки достаточно
11 Кб, 800x600
#49 #520292
Прочел «Программирование на Python 3» М. Саммерфилда, что читать дальше? Когда можно будет приступать к практике?
Умею выводить на экран "Hello World" посредством print.
#50 #520293
>>520289
Впс дальновидней и удобней, и не только для хостинга велосипедов. Универсальность жи. Но если мамка не дает можно и виртуалочку на локалхосте.
27 Кб, 600x600
#51 #520295
>>520292

>Прочел «Программирование на Python 3» М. Саммерфилда


>умею print


Безумные умения.
#52 #520296
>>520295
То есть?
#53 #520297
>>520296
Книгу жопой читал, зеленый? После нее ты должен свою имиджборду написать, а ты только принт умеешь.
#54 #520298
Коданы, нужна практика с гуями, посоветуйте что написать, желательно многопоточного.
#55 #520299
>>520298
Клиент к токсу.
#56 #520301
>>520297

> жопой читал


Похоже что так, раз я мог бы имиджборду написать, но мне кажется ты сам зеленый.
#57 #520302
>>520299
Не, войсачи всякие я не хочу на питоне писать, а с вставками на няшной это другой разговор, но в общем в рот ебал
#58 #520303
>>520301
Забудь про программирование, если не зеленый
#59 #520304
>>520303
Почему?
#60 #520305
>>520292
Можешь задачки на checkio порешать, а можешь сразу изучать фреймворки/библиотеки в зависимости от области в которой хочешь развиваться.
#61 #520306
>>520301
Ну какбы бля, обычно читают и сразу практикуют. Переписывают на свой лад код из учебников, решают задачи если есть, чешут что-то свое, изобретают ненужные велосипеды. А ты что делал?
#62 #520307
>>520306
Написал "Hello world".
#63 #520308
>>520307
И говоришь что не зеленый. Свали, из-за тебя анон ленится нюфагам помогать.
#64 #520309
>>520308
Ну а хули, каков вопрос, таков ответ.
#65 #520310
>>520305
Спасибо.
5 Кб, 544x85
#66 #520358
Решил тут изучить парсинг на lxml.html, на примере хабра вытаскиваю ссылки статей:
page=parse('http://habrahabr.ru/').getroot()
hrefs=page.cssselect("a.post_title")
for row in hrefs:
print(row.get("href"))

Как по такому же алгоритму вытащить названия статей? Они вроде не привязаны к ксс-селкторам, поэтому не совсем понимаю, как к ним обращаться.
#67 #520359
>>520358
Юзай beautifulsoup
#69 #520361
>>520358
print row.text
#70 #520362
>>520359
Я уже пробовал и суп и граб, хочется же таки понять, как в lxml это делается.
#71 #520364
>>520361
Возвращает пустые строки с табуляцией.
#72 #520365
>>520361
А нет, заработало. Спасибо!
25 Кб, 548x299
#73 #520366
#74 #520369
Да у нас тут одни хаброчеловеки, оказывается.
#75 #520371
Как будто что-то плохое.
#76 #520372
>>520371
Double
#77 #520373
>>520371
Лайкнул тебя.
#78 #520380
Аноны, глеб можно найти тонны кода с комментами на русском?. В английском я интермедиэйт .
#79 #520381
>>520380
Где*
Говноид во всей красе
#80 #520382
>>520380
В 1С.
#84 #520396
>>520395
Ай маладца.
#85 #520397
>>520396
Ну не может же быть все заебись, может я где-то что-то неправильно делаю?
#86 #520412
>>520395
Красивенько.
#87 #520417
>>520395
Говно. Отступы, камелкейс, гуй "руками".
#88 #520420
>>520394
Для какого-то обоссанного граббера жирнючий куте тащить? Ты бы еще на жабе написал, пиздос.
#89 #520422
>>520420
А на чём нынче модно писать говноформы, tk?
#90 #520423
>>520422
Граберу этому вообще гуй не нужен.
Если уж на то пошло то он вообще не нужен, потому что эти картинки можно wget`ом или чем угодно утянуть.
#91 #520426
>>520422
GTK3 же, через pygobject
#92 #520430
>>520420
>>520423
Ну тут суть была именно "попрактиковаться в qt"

>>520417
Что не так с отступами. И что значит "гуй руками"?
#93 #520434
>>520430

> И что значит "гуй руками"?


В gtk можно нарисовать формочки в glade, сохранить их в xml и потом подгружать в коде, впесто того чтобы генерить все контролы из кода.
В qt вроде тоже так.
249 Кб, 1427x787
#94 #520438
>>520434
Ты чо ебанутый, это и есть трансляция xmk'ки отданной qt designer'ом. Можно было и ее загрузить, но мне так не нравится.
#95 #520439
>>520438
xml'ки
самофикс
#96 #520440
>>520438
Нравится говно жрать?
#97 #520442
>>520440
Аргументируй плюсы использования хмлки вместо кода, или иди нахуй. Алсо, его тоже можно отдельным модулем подгрузить, но так редактировать проще, чем шариться в ебучей хмлке.
#98 #520445
>>520442
А теперь представь как ты делаешь гуй чуть сложнее хелло-ворлда и как ты обосрался.
#99 #520446
>>520442
Что будет когда ты захочешь изменить этот гуй? В случае xmlки ты просто её изменишь. А если ты используешь генерацию кода придется генерировать код заново и как-то мерджить с уже написанным тобой. Это гемор, особенно на более сложных проектах.
#100 #520447
>>520442

> чем шариться в ебучей хмлке.


Нахуя в ней руками шариться если можно в редактировать в этом же qt designere?
#101 #520448
>>520430
Отступы в 4 пробела, есть qtdesigner и модуль uic. Рисуешь в дизайнере считываешь ui файл в проге.
>>520442
Всё редактирование надо делать в дизайнере. Что можно такого отредактировать в хмл, чего нельзя в дизайнере
#102 #520450
>>520442
Вся суть кутедаунов.
#103 #520451
>>520445
Вынесу все в модули и импортирую где нужно. Так же как ты будешь грузить свои хмлки.

>>520446

>Что будет когда ты захочешь изменить этот гуй?


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

>>520450
Вся суть гтк-дебилов
#104 #520454
>>520451
Ты же делаешь эту хуйню для изучения qt. Вот и делал бы по уму сразу.
#105 #520457
>>520454
Т.е. тру именно использовать .ui файлы? Это же мышкодрочерство, разве для учебы не стоит разобраться как все это изнутри работает? Как генерируется код, как к чему обращаться?
#106 #520458
>>520457

>не хочет мышкодрочерства


>пишет гуй


10/10
#107 #520461
>>520457
Да, тру. Но и как генерируются код ты знать должен конечно.
Часто в реальных проектах совмещаются оба подхода. Например часть элементов однотипная и её удобно генерировать в коде, в цикле. Но это всё внутри окошка, менюшек и прочего которые в ui файле сохранены.
#108 #520462
>>520461
Да ещё эти ui файлы удобны для локализации на разные языки, например.
#109 #520469
>>520458
У тебя по-ходу полторы извилины, или того меньше. Я хочу разобраться как что работает, а мышкой на формочку элементы тягать - ума не надо.

>>520461
Ну вот, а на меня сразу накинулись. Я понимаю, если бы проект был сложнее одноформочной хуйни, то да.
#110 #520491
>>520380
Бампану
#111 #520493
>>520491
Тебе же ответили.
#112 #520494
>>520491
Никто не пишет комменты на русском.
#113 #520495
>>520493
Я ж мамкин корзинка, а тут столько внимания сразу.
Если серьезно, то на говнокоде я пролистал первые 3 страницы и не нашел питона.
Да и хотел в общем то небольшие проекты, но что бы понимать суть работы (их) и при этом не перенять чужих ошибок
#114 #520501
>>520495
Учи английский, заебал. В хорошем коде коментов на русском ты не найдешь.
#115 #520502
>>520495
Читай всякие туториалы. Поскольку тебе надо на русском, то на хабре. Там их полно.
#116 #520547
>>519548
Пишу проект для работы, нужна мелкая помощь. Есть 3 вида активного сетевого оборудования, подключаюсь по телнету к ним и сохраняю ответ в файл(10.x.x.x.txt, ~20-400кб), получается около 1000 таких файлов, а их еще парсить надо. Может быть кто-то подскажет как сделать более проще?
#117 #520549
>>520547
Подключайся по телнету из питона https://docs.python.org/2/library/telnetlib.html и парсь по ходу чтения по сети.
Но вообще я не думаю что на современном компьютере проблема это всё распарсить, ты преждевременной оптимизацией занимаешься.
#118 #520550
>>519548
Что можно почитать по классам и ООП?
#119 #520551
>>520547
А в чём, собственно, проблема-то?
#120 #520552
>>520076
Бампану, что ли. (Классы не наследуют друг от друга ничего. Древовидная топология имеется в виду.)
#121 #520554
>>520552
Во первых почему вместо
for id in self.first_generation:
if id == search_id: return self.first_generation[id]
не просто
return self.first_generation.get(search_id,None)

В чем смысл?
#122 #520556
>>520552
Насчет референсов смотри модуль https://docs.python.org/2/library/weakref.html
Хотя я не понимаю в чем проблема вообще
#123 #520580
>>520554
Я там в следующем посте (>>520087) подправил. Имелся в виду поиск внуков

>>520556

>2


Спасибо, гляну. Ну проблема просто может возникнуть, если там удалять чего нужно будет, наверняка где-то что-то не так пойдёт, если родителя удалю, а ребёнок ссылку на него до сих пор держит, но ни до ребёнка, ни до родителя я ведь добраться уже не смогу. Это же только во всяких там с и жавах gc нормально с этим борется, насколько я знаю.
#124 #520587
Посоны, посоветуйте как лучше получить полные пути к файлам в каталоге. Чет давно не писал на питоне, сижу втыкаю. Есть каталог ~/Pictures/2ch/, в нем gif, webm например. Надо получить полные пути ко всем файлам в 2ch/
#125 #520588
>>520587
os.getcwd() + filename ?
#126 #520589
>>520587
os.path.abspath
#127 #520590
>>520588
>>520589
Счас попробую, а то я уже через os.walk начал
#128 #520591
>>520590
Если хочешь использовать ~ в пути тебе надо os.path.expanduser('~/Path') сначала сделать.
#129 #520594
>>520590
Чтобы файлы в одном каталоге перебрать os.listdir есть
Чтобы во всех подкаталогах тоже - os.walk да
Или map(os.path.abspath,map(str.strip,os.popen('find Pictures/frog/').readlines()))
#130 #520597
>>520594
У меня один из параметров скрипта - каталог с файлами. python script.py --path ~/Pictures/2ch
Как сделать лучше?

Если делать так
for d, dirs, files in os.walk(os.getcwd()):
for f in files:
print (os.path.abspath(f))

то все вложенные каталоги не отображаются, то есть файлы из 2ch/gif не выводит на stdout
#131 #520601
>>520597
Почему os.getcwd() если путь ты параметром педелаешь? Ты os.chdir сначала делаешь?

Надо так
for d, dirs, files in os.walk(os.getcwd()):
for f in files:
print (os.path.abspath(os.path.join(d,f)))
#132 #520602
Посоветуйте литературы по фласку. Учебник на хабре уже прочёл.
#133 #520603
>>520602
Нафиг вам литература? Делаешь что-нить, почитывая документацию и гугля проблемы на stackoverflow
#134 #520604
>>520601
Сорян, запарился совсем, там os.getcdw()+sys.argv[1]
#135 #520605
>>520603
Нужна книга и на русском. И чтоб разжевали и с заданиями и с ответами. И с питоном 2 обязательно, чтоб говно понаваристей получилось.
#137 #520608
>>520604
getcwd() возвращает путь к текущей рабочей папке. Это если бы ты просто из "/home/vasya/python/" запускал скрипт, то этой командой получил бы этот самый путь. А так как ты уже в аргументах абсолютный передаёшь, то getcwd() тебе не нужно.
#138 #520610
>>520608
А. ну да, ты прав. Спасибо.
#139 #520612
>>520608

>папке


Мамке. Это директория называется. Или каталог.
#140 #520625
>>520612
Прости.
#141 #520634
>>520625
Бля, ты сделал меня стыдиться своего быкования. Иди нахуй.
#142 #520635
>>520612
Даже в прыщах сейчас это называется folder
#143 #520637
>>520635
В хуйщах

https://docs.python.org/3.4/library/os.html?highlight=getcwd#os.getcwd

>Return a string representing the current working directory.


>directory



https://translate.google.com/#en/ru/directory
Видишь там мамку свою, пиздоглазый?
5 Кб, 207x81
#144 #520640
>>520637
Да но в гуях в том же thunar или nautilus все команды типа "create folder"
#145 #520643
>>520640
Гуй делают для даунов-аутистов, у которых палец к мышке прилип.

А у нас тут каждый первый - гениальный йоба-программист с зарплатой по 100к. Кто нас учил "папка" говорить? Правильно говорить надо.
#146 #520649
>>520643
Я бы не стал за 100к работать как бомжара. Ты же рубли имеешь введу?
#147 #520650
>>520649

>2015


>люди еще помнят о рублях

#148 #520660
Поцаны, как в третьем питоне получить значение текстового поля? http://pastebin.com/uG0h7xwx (функция do_POST)На данный момент лучший вывод данных который смог получит это "message" test text ------WebKitFormBoundarynPFqHgcyr9jwvgAl-- при введенном "test text" в поле, хуй знает как выделить из этого само сообщение. При вводе кириллицы выдает ошибку.
Во втором питоне есть cgi.parse_multipart(), а в третьем она не работает, при этом появилась ебля с байтами, постоянно нужно декодировать и кодировать данные. Или я копаю совсем не в ту сторону и есть изящные способы в третьем питоне?
#149 #520667
>>520660
Выкинь третьеговно нахуй. Гвидо недавно сказал что он не нужен.
#150 #520675
>>520667
Когда это было? Сразу после истории про еблю твоей мамаши?
#151 #520698
>>520667
Ты не прав.
21 Кб, 481x135
#152 #520703
>>520698
Портируй библиотеки хули.
Пока что почти все используют в продакшене py2.
#153 #520709
>>520703
но это же стандартная библиотека cgi, даже не фреймворк. Неужели нет простого способа получить значение из формы?
96 Кб, 1280x1216
#154 #520719
Парни, помогите разобраться. Дан скрипт для миграции базы данных:

[code]
#! usr/bin/python3.4

import imp
from migrate.versioning import api
from app import db
from config import SQLALCHEMY_DATABASE_URI
from config import SQLALCHEMY_MIGRATE_REPO

migration = SQLALCHEMY_MIGRATE_REPO + '/versions/%03d_migration.py' % (api.db_version(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO) + 1)
tmp_module = imp.new_module('old_model')
old_model = api.create_model(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
exec(old_model in tmp_module.__dict__)
script = api.make_update_script_for_model(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO, tmp_module.meta, db.metadata)
open(migration, "wt").write(script)
api.upgrade(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
print('New migration saved as ' + migration)
print('Current database version: ' + str(api.db_version(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)))
[/code]

SQLALCHEMY_DATABASE_URI и SQLALCHEMY_MIGRATE_REPO - это путь к файлу с базой данных и папка, где будут храниться файлы SQLAlchemy-migrate. В оригинале речь идёт о втором питоне и более ранних версиях фласка и алхимии ( http://habrahabr.ru/post/196810/ ), я по ходу действия адаптирую к третьему питону и современным версиям всего остального.

Конкретно в этом примере проблема с [code]tmp_module.meta[/code], Консолька говорит, что у модуля такого атрибута не бывает. Подскажите, пожалуйста, как получить эти данные [code]tmp_module.meta[/code] и [code]db.metadata[/code], которая идёт следующим аргументом. Подозреваю, с ней будет такая же проблема. Или как создать аналогичный скрипт миграции кроме метода api.make_update_script_for_model. Вечер гугления результатов не дал.
#155 #520722
>>520719
Эммм, с разметкой проебал, каюсь.
#156 #520729
>>520305

>Можешь задачки на checkio порешать


Охуенная же тема, в шапку ее блять закрепите.
мимо ньюфаг
#157 #520731
>>520719
Вот код в более читаемом виде.
http://pastebin.com/gG6a9LZe
#158 #520738
>>520660
В третьем питоне даже cgi.FieldStorage() не пашет. Пиздец.
#159 #520741
>>520709
А тут я не в курсе, сорри. Никогда cgi не изпользовал в py. Попробуй гуглить.
Спроси в development на linux.org.ru там шарят лучше чем в этом чате
#160 #520742
>>520709
Если знаешь инглиш можешь спросить в reddit/r/learnpython или irc
#161 #520767
>>520742
Я нашел точно такую же проблему на stackoverflow, но никто ничего не ответил. В общем не советую проходить курс fullstack foundations на udacity, если вы используете python 3. Там еще зачем то перед фреймворком flask идет BaseHTTPRequestHandler. Пойду лучше сразу flask изучать.
#162 #520770
>>520767
О, мужик! Может у тебя есть какие-то идеи на этот счёт >>520719 ?
Второй день ебусь.
#163 #520772
Объясните пожалуйста нюфане почему функция возвращает None.

http://www.codeskulptor.org/#user40_R7GcPdwI3Z_0.py

Эквивалентный код на плюсах возвращает всё как надо.
#164 #520776
>>520772
Может потому что ты используешь функцию в самой функции?
#165 #520777
>>520776

Это называется рекурсия.
#166 #520779
>>520776
ps: используй while b!=0 в функции.
Пофиксил http://www.codeskulptor.org/#user40_R7GcPdwI3Z_1.py
#167 #520781
>>520777
не видел чтобы такое работало в питоне.
#168 #520782
>>520779

Я знаю как сделать это через цикл, вопрос почему питон не может в первый вариант, мб есть какие-то нюансы?
#169 #520784
>>520781
Я как-то воспроизводил решение задачи о Ханойской башне и всё норм работало, а тут я долго думал чому я у мамы долбоёб.
#170 #520787
Ты забыл return добавить в else
#171 #520790
>>520787
Добра!
#172 #520805
>>520770
Я еще не начал читать про фласк, но ты можешь просто сравнить свой код с кодом http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-now-with-python-3-support. Автор обновил статьи чтобы они работали с питоном 3 и последним фласком, а перевод так и не обновили. Заодно можешь прочитать целую книгу от него.
#173 #520821
>>520805
Благословенны пути твои, о мужик! Я, правда, сравнивал ранее, но не находил необъяснимых отличий, несмотря на всю внимательность. Оказалось, что метод тупого копипаста помог запустить скрипт.
Чудеса.
#174 #520822
>>520821
ты каким редактором кода пользуешься?
#175 #520825
Для этого проекта - Спайдер.
Проблема скрывалась в функции exec() для второго было
exec old_model in tmp_module.__dict__
в то время как для третьего -
exec(old_model, tmp_module.__dict__)
Казалось бы очевидно, но я почему-то себя убедил, что проблему нужно искать либо в методе api.create_model, либо в api.make_update_script_for_model, вот и проглядел.
Зато теперь примерно понимаю, как они работают.
#176 #520826
>>520660
Так а почему именно ты не можешь получить текст? self.rfile.read(length) что возвращает? Зачем там urllib.parse_qs (что за cgi и чего там эта форма твоя возвращает я не в курсе, поэтому просто спрашиваю)?

>При вводе кириллицы выдает ошибку


Чинится легко — сделай глобальную переменную ВКЛЮЧИТЬ_РУССКИЙ = True. Пиши что за ошибка, черт возьми. Если про юникод, значит нужно u'русский текст'.encode('utf-8')
46 Кб, 696x712
#177 #520829

>Если про юникод, значит нужно u'русский текст'.encode('utf-8')


А если вот так блеять?
7 англ спермерочка если что.
ньюфаг который уже ныл про это ранее
#178 #520830
>>520829
в обычном шелле работает нормально.
это тупит пучарм. и я вместе с ним
#179 #520867
>>520826
Там ошибка не столько с юникодом, сколько с ебанутостью всей системы, поэтому то что работало в второй не работает/отсутствует в третьей.
>>520829
Правой кнопкой клацни и поменяй кодировку файла на юникод.
Асло какие стоит попробывать IDE, кроме пичарма.
#180 #520868
>>520867
да поменяно в настройках все что можно было.
нихуя не помогло.
#181 #520869
>>520868
Путь к юзеру на английском?
#182 #520871
>>520868
У меня винда 8 и пичарм, если я просто напишу что нибудь на русском, то у меня это отобразится. Странно что у тебя байты даже не отображаются. Не старый амд случаем?
#183 #520894
>>520871
Охуеть, уже даже на камень спермопроблемы валят.
#184 #520895
>>520894
на видяху. У них могут быть проблемы с отображением юникода на винде.
#185 #520896
>>520894
и имеется в виду ATI
#186 #520897
>>520895
Voobshe ohyet
#187 #520898
Как можно синхронизировать pycharm и pythonanywhere, чтобы можно было быстро обновить файлы на сервере?
#188 #520899
>>520898
sshfs/git/nfs. Только ни то, ни другое этого не умеет, азазаз.
#189 #520907
посоны, спрошу и пойду спать.
opencv или simplecv работает с питоном 3.4 на сперме?
#190 #520908
Вообще, проблема в
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-2: character maps to <undefined>
в интернетах чтото про нее кукарекают, а как решить не говорят
#191 #520909
>>520871
может у тебя винда или пичарм русские?
>>520869
да
#192 #520912
Почему автоподстановка pycharm не предлагает мне функции объекта типа <class 'flask.wrappers.Response'>?
#193 #521052
>>520912
потому што на питоне пиши, а не на яваскрипте коком-то
#194 #521066
sorry for taftology
#195 #521083
Есть хоть какая документация к макабовскому апи? Мне бы хотя бы поиск. По оп-тредам.
#197 #521093
>>521052
Это и есть питон.
#198 #521106
А свежих книг похоже сейчас нет? Навроде Марк Саммерфилд “Программирование на Python 3”
#199 #521108
>>521090
Это я видел. Похоже придется джейсоном брать каталог и самому по нему искать.
#201 #521112
>>521093
Нет, это питон.
#202 #521117
>>521111
Самый свежий и не надо мне, 3.(4/5) хватит.
Желательно чтобы на русском или на еази ангельском.
#203 #521120
>>521117
Весь технический английский изи. Не Шекспир же, епта.
#204 #521136
>>521120
но по сути на английском читать больше времени займет у меня, т.к. интерпретация на русский + перевод терминов еще.
#205 #521140
>>521136

>F.A.Q.


>В: Хочу стать программистом, какой язык учить?


>О: Английский + Ruby/Python



От английского ты никуда не денешься. Чем раньше начнешь свободно читать документацию тем лучше. А без практики ты никогда не начнешь.
Иди читай, блять.
#206 #521247
>>521136
О каких терминах всегда все говорят, когда заходит речь о документации на английском? Почти всё то, что там упоминается, ты так или иначе уже всё равно английскими словами называл, а если чего и нет, то это самые обычные слова, просто в другом контексте применяются. Не философию какую-нибудь читаешь же.
#207 #521263
>>521140
>>521247
Ok.

С синтаксисом и багамифичами питона нужно ознакомиться, а так был опыт кое-какой с пхп, из нормальных фреймворков заметил только Laravel, уровень организации разработки почти как у джанги/фласка, но нахуй этот весь пхп. После беглого ознакомления с фласком, предел мечтаний пхпшника - ларавел, показался зашкваром.
Понравилось как просто можно на питон фреймворках намордник нацепить, хуяк-хуяк и готово.
Ладно, пойду изучать глубже.
#208 #521269
>>519548
Который сеть IRC вы используете?

жаль, мой русский плохо
#209 #521271
>>521269
Мы использовать только этот тред, не использовать IRC, наш IRC - это этот тред.
#210 #521274
>>521269
https://www.python.org/community/irc/

Русский не нужен.
#211 #521286
>>521274

>Русский не нужен.


Ишь какой бандеровец, поди и родину так продать сможешь?
#212 #521287
>>521286
А сколько ви предлагаете?
#213 #521293
>>521287
2.5 девственници
#214 #521295
>>521293
А та которая 0.5 девственница - это анальная девственность? Или кусок девственницы?
#215 #521296
>>521295
Это 0.5 девственницы, вдоль или поперек, как пожелаете.
#216 #521314
>>521295
Она дилдаком на полшишечки присунула и немного поравалась
#217 #521359
>>521314
Очень смешно. Динах пидр бля
#218 #521374
>>521136
Всё равно придется всё на англельском читать. Если ты по самому питону книжку ещё допустим найдешь, то ко всяким библиотекам и прочему доки только на ангельском.
1064 Кб, 2600x1553
#219 #521401
Антон, у меня есть дохуя относительных временных меток "mm:ss", как их перевести в unixepoch если точкой отсчёта брать вчера в 15:15?

нихуя же непонятно с этими вашими calendar, datetime, time в утро понедельника.
#220 #521403
>>521401
нихуя, уже понедельник?
#221 #521404
>>521403
ТЫ бы спал хоть иногда.
#222 #521405
>>521401
import datetime
d=datetime.datetime(2015,7,26,15,15)
metki = ['10:15', '33:11']
dates = []
for m in metki: dates.append(d+datetime.timedelta(seconds=int(m.split(':')[0])*60+int(m.split(':')[1]))

дальше dates переведешь в unix
#223 #521406
>>521405
p.s.
[date.strftime('%s') for date in dates]
#224 #521407
>>521401

>перевести в unixepoch если точкой отсчёта брать вчера в 15:15?


Чего несешь? Unixtime/unixepoch - количество секунд прошедших с 1 января 1970. Вся суть в этой точке отсчета, а ты ее заменить хочешь.
#225 #521409
>>521407
несём чемодан. артём хочет таймстепы вчерашнего воскресенья с 15:15 +мм:cc
#226 #521410
>>521406
>>521405

Ох спасибо, Антон!
#227 #521554
Django or Flask?
#228 #521561
>>521554
Flask для пацанов, Django для понтов.
Если планируешь на этом зарабатывать, то только джанго - на фласк вакансий оочень мало.
#229 #521575
>>521561
Да, заметил такую тенденцию на рынке с джанго.
Планирую использовать в личных целях.
Какие недостатки имеет фласк, по сравнению с джанго, которые нельзя исправить модулями?
Раньше писали то что у фласка небыло админки, но сейчас есть https://flask-admin.readthedocs.org/en/latest/

Фласк мне понравился низким порогом вхождения.
#230 #521577
>>521575

> низким порогом вхождения.


Я так понимаю flask использует sqlalchemy, это очень сложная и навороченная библиотека, мощная конечно, но. ORM django намного проще в освоении и умеет делать то, что достаточно для большинства проектов.
#231 #521581
Хочу похвастаться перед одноклассниками написанным хеловордом, но они слишком тупые, чтобы поставить у себя питон и все необходимые библиотеки. Если ли способ собрать всё в 1 ехе файл для домохозяек?
#233 #521596
>>521582
Спасибо. Буду пробовать.
100 Кб, 1022x524
109 Кб, 1077x533
100 Кб, 1071x530
#234 #521608
Эта штука столько стоит?
#235 #521610
>>521608
нет
#236 #521611
Есть одна проблема. Суть такова:
1) Есть модуль globals.py там я храню целочисленную переменную-счётчик foo.
2) Модуль bar.py туда считает.
3) Модуль baz.py должен в свою очередь от туда брать значение счётчика и предпринимать определённые действия.
НО) Когда я в baz.py импортирую globals.py получаю в качестве значения foo то, что в globals.py записано по дефолту, а не то что я выставлял в bar.py для foo.
Почему так получается и как белые люди делают глобальные переменные, которые можно менять из любого модуля?
#237 #521612
>>521608
Вообще такие книжки не нужны. Используют доки и мозги.
#238 #521623
>>521577
Да хуй знает, не затруднит привести примеры? Да и вроде как альтернативы есть.
#239 #521626
>>521611
При каждом новом импорте будет браться дефолтное значение, промежуточные результаты работы скриптов сами собой никуда не сохраняются. Тебе нужно их куда-то записывать, в зависимости от масштабности задачи это могут быть либо текстовые файлы, либо базы данных, либо в оперативку (мемкеш). Есть модули для экспорта переменных в файлы, но не помню как называются, можешь погуглить, или тут кто напомнит.
313 Кб, 1421x430
#240 #521642
Анон, помоги!
Пример сайта: http://www.shrm.org/
http://apps.shrm.org/www/MemDir/memberdetails.asp?id=YO4T2O7X - в самом низу надпись( у вас осталось 9 просмотров), затем F5*10 и появляется надпись вы исчерпали свой лимит. Как я могу обойти эту хуйню и просмотреть все интересующие меня профили?
#241 #521647
>>521642
я как зашел у меня сразу этот текст
#242 #521648
#243 #521661
>>521642
Не зарегистрирован потому что.
sage #244 #521663
Вопрос от ультра-нюфани: подойдут ли официальные доки для полного нуба?
#245 #521664
>>521663
От черт, опять сегу забыл снять.
#246 #521666
>>521663
Начни с туториал, а так - да, там всё разжевано.
Ещё советую http://pymotw.com/2/contents.html
#247 #521689
Я тред открывал на тему, что у меня не парсится текст через Selenium. Было пять ответов и модератор тред несправедливо закрыл. Несправедливо, потому что все ответы оказались неверными. Было высказано предположение, что текст генерируется у меня на js. И нужно смотреть в net обращение через к ajax. Это оказалось неправильным. Нету там аджакса. Модератор предложил использовать официальный api и даже привел пример как у него замечательно работает. Однако модератор не обратил внимание, что через api ему приходит неправильное описание. Короче, негласно меня назвали лохом и тред закрыли.
Оказалось. Что если разметка в верстке не имеет атрибут text к тексту, то текст нужно искать не через атрибут.
То есть обычно делают так, когда работают с циклом
print i.get_attribute('"text")
но если атрибута в разметке нет, то надо так
print i.text
#248 #521691
>>521689
Заебали дебилы со своим селениумом
#249 #521693
>>521663
Рекомендую на ютубе посмотреть обучающие ролики. Сразу видно какие инструменты используют в работе, как программы запускают и прочее.
#250 #521695
>>521691
А меня дебилы с красивым мылом. У русских кодеров - это прямо болезнь какая-то.
#251 #521696
>>521689

>python2


Из 2007 пишешь?
#252 #521697
>>521695
А как это взаимосвязано?
#253 #521698
>>521695
Я про парсер beatiful soap. В рунете много с ним туторилов и русские кодеры начинают с него. В то время, как парсеры давно уже используют вместо него scrapy или похожий инструмент от русского разработчика grab:spider
#254 #521701
>>521696
Пишу на 2.7 Со всеми задачами справляется прекрасно. Знаю третий, но практически его не использую, пока не нужно. Язык начал изучать сравнительно недавно и сознательно выбрал изучение второй версии. И не прогадал.
#255 #521702
>>521701

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


Проиграл. Ты в курсе что через 4 года вторая ветка - все?
#256 #521708
>>521702
Ой, я прям разрыдался! Если вторую версию знаешь, третью за час можно освоить. Есть специальные доки на эту тему.
#257 #521710
>>521708
Там осваивать нечего, осваиватель ебаный. Проблема в переводе легаси-говна. Ты сам себе создаешь двойную работу.
#258 #521717
>>521698
Да никто этот говноспайдер и скрапи уже не используют. Есть такой-то aiohttp и beautiful soup. Не знаю где ты там мыло увидел.
#259 #521719
>>521710
Эй потише тут! Распоясался король холма.
#260 #521720
>>521717
ага, рассказывай сказки
#261 #521739
>>521717
Не похуй ли, кто там чего использует? Или вы в погоне за модой только модули и выбираете? Справляется с задачей быстро, правильно и удобно — норм. Вот чего такого в спайдере или скрапи нет, что есть в аиохттп или беаутифул супе, что прям нужно говном поливать пользователей первых двух?
#262 #521820
Решаю задачу про поиск квадратиков в матрице, но не суть
Есть вот такая корявая конструкция, не по петоновски совсем. Да и работает она не так как мне хочется, не понимаю я петоновского and
if (([start, start + 1] and [start + 1, start + 2] and [start + 2, start + 6] and
[start + 6, start + 10] and [start + 9, start + 10] and [start + 8, start + 9] and
[start + 4, start + 8] and [start, start + 4]) in table):

Проще говоря, нужно проверить есть ли конкретные графы в матрице, причем есть ли они все
#263 #521821
>>521820
Не совсем понял, но что меняет вынести это в функцию, передать ей лист аргументов, а в ней пройтись циклом?
#264 #521841
>>521821
Проще говоря нужен питоновский спобоб проверки наличия нескольких елементов списка.
Как впринципе реализовать я знаю, хочу узнать как это сделать по питоновски
26 Кб, 483x480
#266 #521856
>>521698

> от русского разработчика


Сразу нахуй
#267 #521890
>>515922
http://pastebin.com/uXGWQgCT
Решил не переписывать имеющееся говно, ибо и так работает, зато когда начал писать новый парсер -- сделал по новой технологии. Чекните, стало ли лучше.
498 Кб, 1321x683
#268 #521953
Сап, ананасы. Я делаю карточную игру на tornado (клиент-серверное взаимодействие через вебсокет). Сейчас текущее положение дел на игральном столе хранится в монге. Т.е. каждое действие игрока сопровождается вытаскиванием документа, его изменением и последующим апдейтом. Так вот я подумал, не проще ли все данные об игре хранить в питоновском классе? Много памяти это жрать не должно, т.к. данных немного, а прирост в производительности за счет отброса монги должен быть значительный, да и обработка данных станет много проще ("Simple is better than complex."). Поделись своими мыслями на этот счет, анон.
#269 #521954
>>521953
Я делал когда-то игру карточную и все данные хранил прямо в коде. Нафига тут бд вообще? На случай перезапуска сервера можешь сохранять их через pickle
Правда я использовал twisted вместо tornado но это одна фигня.
#270 #521955
>>521953
Тем более как ты к монге обращаешся? Асинхронно? Тогда это пиздец усложняет код. Синхронно? Тогда твоя игра будет поддерживать очень мало игроков и всё будет тормозить.
#271 #521962
>>521954
БД чтобы можно было запустить несколько инстансов приложения, но необходимости в этом я пока не вижу. А так спасибо за ответ, думаю таки бд выбросить.

>>521953
Синхронно. Да, пожалуй ты прав
#272 #521964
>>521962
Асинхронный код сможет и в одном потоке держать дофига игроков, если ты туда не напихаешь синхнонных обращений к файлам/сети конечно или каких-то адских вычислений(которых в просто игре нет).
Если у тебя будет очень-очень много игроков ты можешь иметь несколько изолированных истансов друг от друга и играков по ним разбрасывать. Тебе же по сути главное чтобы игроки которые "за одним столом" висели на одном сервере вот и всё.
#273 #521968
>>521964
Красиво обосновал. Добра тебе, бро
#274 #521974
Решил сделать небольшое веб-приложение на джанге. Хотел спросить совета. Вот такая схема бд пойдёт?
В приложении будут фотографии текстуры в реальном мире, её описание и фото её рендера. Смущает что для каждого просмотра текстуры придётся джойны делать. В общем прошу совета.
#276 #521980
>>521974
Я так понимаю для одной текстуры может быть много рендеров и фото?
Тогда всё правильно.
В моделяъ Render и Photo прописываешь texture = models.ForeignKey(blabla
#277 #521984
>>521974
В джоинах ничего плохого нет, это реляционная модель данных, тут они и должны быть.
Если хочешь это немного оптимизировать то глянь на http://django-cachalot.readthedocs.org/en/latest/ правда на уровне БД запросы тоже по-идее кэшируются.
#279 #521988
>>521987
Причем тут питон?
#280 #522000
>>521980
Ну да, все правильно. Спасибо.
>>521984
И тебе тоже спасибо.
#281 #522223
https://github.com/rchubarkin/super-dummy-blog
Этого достаточно, чтобы показать на собеседовании, что я не совсем ноль? При условии, что клиент будет дописан до адекватного состояни. Опыта нету, на собеседования не ходил.
#282 #522224
>>522223
На собеседовании по flask? По нему вообще вакансии есть?
#283 #522229
>>522223

>rchubarkin


Ебать ты ананимас
#284 #522232
Я вот заметил что многие пхп-поделки распространяются с внешними библиотеками/фреймворками в каталоге собственно проекта. Т.е. сразу в зипе качается все, что нужно. Ничего не доустанавливается.

С джангой так можно? Какие подводные камни? Решето через пару лет?
#285 #522237
>>522224
На хх в 10 раз меньше чем на джанге. Немного печалит.
>>522229
Хуев на стенку накидаешь теперь? ((
#286 #522241
>>522232
А зачем таскать все либы туда сюда? Можно написать скрипт в 2 строчки, который будет создавать тебе виртуальное окружение и устанавливать нужные либы в него. Ну или докер, например.
#287 #522243
>>522237
Накидал, проверяй.
#288 #522248
>>522232
Можно всё сложить прямо в папку с проектом.(или любую другую и прописать её в pythonpath)
Но лучше использовать
1)virtualenv
2)pip с requirments.txt
Или какой-нить docker
#289 #522250
>>522232
А насчет решета - надо привязываться к конкретным версиям библиотек всё равно потому что более новые могут быть несовместимы с твоим проектом.
И переходить на новые версии ручками следя чтобы ничего не сломалось.
#290 #522255
>>521739
скрапи — пифон 2.7
граб — multicurl
В 2015 в пифоне уже есть свой луп и своя асинхронность, которые нативны. Нет причины ковырять это древнее говно с пачкой архаичных зависимостей.
#291 #522259
>>522255

>пифон


Я тебя найду и вставлю тебе зубы, мразь.
#292 #522365
ребят, стоит покупать этот курс?
https://www.udemy.com/coding-for-entrepreneurs/
#293 #522376
>>522365
Там, походу, версия 2,7, но курс выглядит очень крутым.
#294 #522377
Ананимасы, рассказывайте, как вы организуете разработку для своих пет-прожектов на Пифоне.
Я хочу чтобы мне линтило и гонялись какие-нибудь тесты. До написания тестов я пока еще не дошел, а вот линтинг нужен.
В емаксе у меня линтер стоит, но хотелось бы еще чтобы был какой-нибудь общий запуск (думаю, на пре-коммит хук повесить), только не придумал пока удобного способа показа. Хотел бы какой-нибудь чарт и удобные нотификации.

Да и вообще линтеры какая-то хуйня, там проверки уровня детского сада. Мне б хотя бы как в Pycharm там тоже хуйня, но лучше нет.
#295 #522378
Пишу по маленьким кускам/подпроектам, объединяю все в один, прогоняю автопепом, коммичу на гитхабю
#296 #522379
#297 #522381
>>522378
А если у тебя ебнется в рантайме с каким-нибудь not iterable или not defined? Банальные проверки же лучше иметь, особенно когда разные куски пишешь.
#298 #522383
>>522381
Ну ебнется так ебнется, поправим. Когда проект не очень большой я больше времени проебываю обмазывая его всякими юнит-тестами, чем собственно за проектом. Нахуй так надо?
#299 #522389
>>521608
Отсосешь мне потом.
http://rghost.ru/7YHf5PDhY
2ch
#300 #522436
>>522377
Если ты так любишь линт, то сделай его проверку on save с подсветкой проблемных строк. Тоже самое с pep8. Для тестов используй травис + nose + coveralls и прочие приблуды по желанию. Документацию можно на sphinx, ибо readthedocs. Но можно и ручками её писать, а не генерировать из кода.
#301 #522441
Новичок в тренде. Какие есть либы для GTK-интерфейсов? Pygtk и всё?
#302 #522442
>>522441
pygtk iz deprecated, use pygobject.
#303 #522446
>>522436

>проверку on save


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

>>522383
Ну это такие вещи, которые один раз стоит, наверное, настроить. Я уже напоролся разок на том, что хуярил код без оглядки. Через два месяца я уже боялся вносить фиксы, так как все падало и крешилось от любого чиха. Такой-то я быдлокодер. Но там было без фреймворков, я сам все писал (в том числе и врапперы для апиев всяких), особенно не обдумывая код.
#304 #522452
DJANGO VS FLASK
Что лучше и проще в освоении для дилетанта?(с бывшим опытом пхп чуток)
#305 #522454
>>522452
(хочу использовать для себя если что)
#306 #522466
>>522452
Джанга сильно запилена на модели и реляционные базы данных. Фласк это собери всё сам, чуть красивее но провоцирует на велосипеды.
#307 #522478
>>522446
В смысле "замыливался"? Он подсветил, ты исправил и больше они не подсвечиваются.
#308 #522500
Ребят, многих либ 2х нету в 3х версиях. Что посоветуете, перекатываться на 2ю или превозмогать на 3й?
#309 #522501
>>522500
Это какие такие охуенно редкие либы тебе нужны? Если что-то есть под 2, но нет под 3, значит нахуй никому уже не нужно 10 лет как.
#310 #522505
>>522501
Удваиваю этого оратора. Легаси должно отмирать.

>>522500
А ты ищи альтернативы. Оригинальную либу на 3 может и не портнули потому что говно, на которое все забили, но альтернатива может быть. Скорее она даже лучше и современней.
#311 #522539
>>521850

>http://habrahabr.ru/post/85459/ на погляди


годно!
На стакоферфлове мне посоветовали set(list1) >= set(list2)
всетаки годная штука этот ваш питон
#312 #522540
>>521841

> проверки наличия нескольких елементов списка.


l = ['a', 'b', 'c', 'd']
tocheck = ['a', 'c']
if all(el in l for el in tocheck): print 'both are in list'
194 Кб, 500x500
#313 #522559
Чому все советуют третий, а не второй?
#314 #522560
>>522559
новые фичибаги
поддержку второго скоро прекратят, да и нахуй тебе надо, использовать устаревшее говно?
69 Кб, 1000x1000
#315 #522563
>>522559
Мужик, бери второй, базарю. Тройка никогда никому не была нужна, это всё происки Гниды.
#316 #522567
>>522559
Тролли. Это мемчик типа "install gentoo".
irl никто третий конечно не использует, так что нуб придя на собеседование со своим третьим будет в неловком положении.
#317 #522568
>>522560

> скоро


Ага всего лишь через 5 лет и то не факт что её не продлят потому что даже тогда будет ещё куча легаси кода.
#319 #522642
А в чём разница между вторым и третьим питоном конкретно?
8 Кб, 663x309
#320 #522649
Есть ли способ сделать так чтобы переменная ссылалась на поле класса, а не на конкретное значение?
Чтобы в примере с пика переменная b ссылалась бы не на 1 как экземпляр класса int, а на само поле класса a.a и при изменении b менялось бы и значение поля а.а?
#322 #522654
>>519548
Начал изучать питон, вроде язык нормальный, но у него между версиями какой-то неистовый пиздец с кодировками. В 2.7 одно в 3.4 уже не запускается. В windows и linux версиях ладно страдают, но на одной ОС, не понятно. Попытался запустить на Linux x64 и Linux x86, Mac x64 разных версиях питона все по-разному работает. Может у меня руки из жопы или тут действительно разница большая? Есть ли какие рекомендации? Попробовал в строках прибавлять всегда __str__() чтобы наверняка, открылись проблемы с либами, некоторые либы могут иметь разные параметры. Вокруг одно сплошное наебалово.
#323 #522656
>>522654
Ясненько.
#324 #522659
Причем похоже такие проблемы возникают только при написании терминального приложения. С gtk такого говна нет. Там метод input в случае с utf-8 при нажатии backspace убирает только один символ, но русская кодировка кодируется двумя. Пришлось свой input писать с блекджеком и ...
#325 #522664
>>522642
Не такая уж она и большая чтобы так из-за этого переживать как в этом треде.
Да и можно писать код который будет работать и там и там.
#327 #522672
>>522664

>Да и можно писать код который будет работать и там и там.


Это когда "from __future__ import huita"?
#328 #522679
>>522672
Это один из способов да.
#329 #522687
>>522652
>>522666
Если бы я хотел перечитать документацию ещё раз или прочитать ветку форума с рассуждениями про то, что неизменяемы и изменяемые типы данных ведут себя по разному я бы это и сделал изначально.
Может перестанете отбирать хлеб у поисковых ботов и опишете конкретное решение конкретной задачи вместо выдачи относительно релевантных ссылок? Если вы разумные люди, конечно.
#330 #522690
>>522679
А какой второй?
#331 #522714
>>522687
Разумные люди не будут спрашивать то, что легко гуглится.
Разумные люди не будут разжевывать такому заносчивому мудаку как ты.
#332 #522741
>>522714
Тоесть ты сюда заходишь, чтобы поработать ботам гугла, тупо выдавая ссылки по похожим словам, и нахамить кому-то когда тот попросит вменяемого ответа на вопрос?
#333 #522745
>>522741
Уябывай, клоун.
#334 #522746
>>522741
Мань, с таким подходом тебе тут не помогут.
#335 #522756
>>522745
Тоесть я прав, да?
Вот смотри:
Взять и написать ответ на простой, как ты говоришь, вопрос - ты не хочешь. Можешь только в функционал поискового бота.
Но зато уже в 2 поста чистого кидания какашек.
>>522746
Мне и с другим подходом тут не помогли.
#336 #522811
Коданы, посоветуйте книжку.

Сейчас читаю LPTHW, сам главный принцип (перепечатывать с экрана 1:1) мне не очень нравится, но подход к обучению правильный, а то в универских методичках обычно "вот отвертка, вот гайка, задание 1 собери синхрофазотрон до среды".

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

Алсо хотелось бы зайти в книжный магазин в ДС и купить, а не заказывать из-за моря на португальском и ждать месяцами.
#337 #522813
>>522811
Codeacademy.
#338 #522814
>>522811
Доусон/Саммерфилд/Лутц
#339 #522815
>>522813
Не, я хочу бумажную книгу.
#340 #522818
>>522815
Ебанутый?
#341 #522819
>>522814

>от 2к деревянных



Хуясе. Я что-то делаю не так?

>>522818
Есть немного. Бумажные учебники субъективно удобнее.
#342 #522820
>>522819
Читать глазки не устают, например.
#343 #522821
>>522820
Купи монитор нормальный, нищеброд.
#344 #522822
>>522821
У меня монитор электроника, в беларусси сделан. а ты наверное хохол которому насрать на импортозамещение.
#345 #522823
>>522821

>ко-ко-ко

#346 #522831
>>522821
У меня астигматизм, и он врождённый, и ему как-то параллельны типы матриц мониторов.
Так что проследуй на хуй.
#347 #522833
>>522821

>спиздил книгу


>называет кого-то нищебродом

288 Кб, 750x767
#348 #522843
>>522822
>>522823
>>522831
>>522833
Такс-такс-такс, что тут у нас? Пригорелые нищеброды? Азаза наканецта.
48 Кб, 212x212
#349 #522847
#351 #522856
>>522854
Теперь запили нормальный vim-mode и плагины и твоя параша будет лучше обоссанного сублайма.
#352 #522923
>>522854
Зачем такая нумерация версий?
Стандартный подход X.YY.ZZZ же лучше всего описывает ситуацию.
X — меняется только в случае кардинальных изменений.
YY — добавление фич.
ZZZ — номер билда,может быть хоть 99999. Меняется при исправлении багов.

Я бы в ствоем случае просто сделал весию 0.0.0 и менял бы вторую и третью, пока не дошел бы до релиза.
На практике бывали случаи когда номер версии составлял 0.15.182, согласись — так проще понять что происходит с продуктом.
#353 #522979
Питонач, скажи: Доусон - совсем хелловорлд или как? Саммерфилд лучше?
#354 #523042

>>> i=10


>>> type(`i`)


><type 'str'>


Чому в третьем эту годноту убрали?
#355 #523061
>>522567
Рано или поздно все равно останутся одни нубы с третьим
#356 #523062
>>523042
type(repr(i))
#357 #523063
>>523062
Да и str() можно. Но `` короче и вообще перл-стайл.
#358 #523065
Dive into python - это мемасик? Что лучше для нубия - его или Саммерфилда?

Хотелось бы, чтобы научили всякие там гуи рисовать и с ресурсами работать, помимо прочего.
#359 #523069
>>523065
Дайв - вполне нормальная книжка, по ней учил.
#360 #523084
Суп питоны.
Стоит обмазываться web2py ?
Или лучше сразу дрочить django flask?
#361 #523092
>>523084
жангу
#362 #523159
>>522854
Ну в принципе уже более-менее, прикручивай запуск скриптов по хоткею и те кто ноет по поводу тяжелизны ide могут спокойно юзать твой блокнотик для мелкоскриптов на питоне
#363 #523184
>>523084
Запомни - из немейнстримных остался только flask и кое-что еще (см. ниже), web2py cherrypy и прочую хуйню даже не трогай там все стухло, то что эти фреймворки крутятся где-то на сервере амстердамской городской газеты ни о чем не говорит, это не серьезные мейнтейнеры.

Кое-что еще - это всякое там tornado, pylons, twisted и прочий немейнстрим для серьезных хайлоад-ребят, которые живут yield() и хардкором.

Короче если тебе надо написать быстро и за еду проект - используй django. Если ты мамкин нерд-хипстер со стартапом, используй flask, по нему есть достаточно годный туториал: http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

Если ты хайлоадер - начни с третьего абзаца пасты dive into python и не забудь про twisted. Ну или рой в сторону C#/Java если есть деньги на сервера. Либо Go/Erlang если нет денег на сервера кек.
#364 #523185
>>523084
И да, если ты собираешься использовать mysql/postgresql/oracle - у тебя есть три стула:

1) Django - для задач уровня говносайтов. Как только пойдут сложные запросы, инвалидация и прочее - либо превратишь свои приложения в говнокод, либо начнешь перепиливать жанку под себя. И то, и то - уныло.
2) SQLAlchemy для достаточно широкого спектра задач.
3) Своя ORM, если есть команда питонистов, которые не превратят ее в говно и умеют в архитектуру.
30 Кб, 832x808
22 Кб, 836x787
#365 #523196
>>522923
Спасибо схоронил!
Сразу вопрос, нужна ли строка состояния и что в ней отображать кроме "Ln: 1, Col: 2"?
>>522856

>Теперь запили нормальный vim-mode и плагины и твоя параша будет лучше обоссанного сублайма.


Это просто блокнот и никогда не будет ничем больше блокнота.
#366 #523203
>>523184

>twisted


>highload


Он пиздец тормозной
#367 #523205
>>523185

> mysql/postgresql/oracle


> 2015


Все использую nosql базы - mongodb, redis, zopedb, couchdb.
sql-прошлый век, его никто не использует, только в легаси продуктах.
#369 #523208
>>523206
Индус то помер
Пили форк
Pida Reload - pidar-0.0.01
41 Кб, 596x194
#371 #523218
>>523216
лолчтоэто?
#372 #523237
>>523218
Это хуёвая подсветка синтаксиса, строки документирования (''' ''') конфликтуют со строками (' '), ума не хватает исправить.
http://pastebin.com/EASJuReW
#373 #523242
>>523184
Twisted не про скорость, это инструментарий для эвент-дривн нетворкинга. Он гораздо удобнее, чем велонетворкинг на мудацких нодавелосипедах. На отклик там хватит, остальное решит сетка компов.

>>523205
Толсто, браток.
#374 #523245
>>523237
Пиздос ну и говнокод у тебя, скачай опенсорц либу на гите для этого и адаптируй под себя. Заодно посмотришь как это можно короче сделать. У тебя код как на турбопаскале, а не как на питоне.
#375 #523246
>>523242
Тем не менее он тормозной. Его хотели переписать на c++ но так и не переписали.
И вообще сейчас есть asyncio в питон3.
#376 #523248
>>523246
С asyncio посложнее будет разобраться без коммьюнити и наработанного опыта как у twisted. А так конечно годно, почитаю поплотнее док (и заодно перекачусь на тройку кек).
#377 #523251
>>523245

>скачай опенсорц либу на гите для этого и адаптируй под себя


Асечку-писечку-ссылочку, плиззз!
#378 #523256
А что в третьем питоне регулярные выражения не работают для кириллицы?
#380 #523258
>>523246
>>523248
А как же торнадо?
#381 #523260
>>523258
Торнадо это чисто http ну и websocket
Твистед более низкоуровеный позволяет делать другие протоколы всякие.
email, ssh, irc- что хочешь.
#382 #523265
>>523257
Это хорошая вещь, когда тебе подсветка нужна в бложик код запостить, или презентацию подготовить.
Легче IDLE расковырять и посмотреть как работает, чем пигменты под себя переписывать.
#383 #523309
Чем плох web2py кстати?
#385 #523389
Начинаю обмазываться, посоветуй IDE. чтоб с отладчиком и фаршем.
PyScripter при запуске не может найти python23.dll если подсунуть скачанную отдельно просто выдаёт кучу ошибок. пистон 3.4 шин7х64/шин8.1х64
#386 #523390
>>523389
pycharm
spyder ещё ниче так и полегче.
pydev
#387 #523394
>>523389
Спермопроблемники проснулись. Как там, дисяточку еще не поставил?
#388 #523400
>>523394
Не, в очко десяточку. Посоветуй тогда годноту под прыщи. И сразу ещё один вопрос: программа работающая с ком портом под прыщами, будет нормально чувствовать себя под спермой?
#389 #523411
>>523400
Я в виме+jedi пишу. Мне охуенно.

>ком портом


Программа собранная из дефолтных батареек обычно без проблем переносится под спермы. Но ты наверняка pyserial юзаешь, там все уже на их совести.
Вангую что должна.
#390 #523420
>>523411
Еще не начал юзать. Когда-то давно писал под прыщи костыль который мигал светодиодом на лпт-порте при непрочитанных сообщениях в жабере нет слов чтоб описать как я тогда натрахался а теперь возникла задача токать данные в/из кома, но вместо того чтоб ебать мозги гугля каждую строку решил изучить яп. И пока не ясно какая конечная ось будет всем этим заниматься.
#391 #523424
Ебать шапка на гитхабе не информативная, накидали в кучу всякого говна и все, будет время сделаю нормальную шапку.
#392 #523425
>>523424
Делай пулл реквест со своими правками, хуле. Шапка на пастебине или прямо тут нахуй не нужна.
#393 #523460
>>523425

>Шапка на пастебине или прямо тут нахуй не нужна.


Я не говорил что тут хочу шапку, я говорил что содержание шапки на гитхабе не информативное и хуевое.
#394 #523473
>>523411

>pyserial


Нормально и под прыщами и под спермой работает. Только он больше под второй питон.
#395 #523478
>>523473
Использовал с третьим, всё работает заебись.
#396 #523523
>>523309
Бумп вопросу
#397 #523528
>>523196
Можно ещё отображать время последнего редактирования. А больше она ни для чего и не нужна
#398 #523530
Кто то юзает atom (редактор) для django разработки?
#399 #523532
>>523460
Так поправь ее, блять. Значение гита знаешь?
#400 #523533
>>523523
Название не очень.
#401 #523550
Пацаны подскажите за виртуальное окружение. Создал его в проекте, залил в гит, потом с другого компа сделал git clone активировал окружение и соснул. Код тупо не исполняется, говорит The SDK seems invalid.
#402 #523557
>>523550
Бывало такое, ВТМ Нада сделать
#403 #523561
Какая ос удобнее для кодинга на питоне под веб?
Без срача уровня /s плис
#404 #523566
>>523561
90% что твой код будет крутиться на серваке с линуксом. Так что ответ очевиден.
#405 #523657
>>523550
Используй докер или просто lxc
91 Кб, 1816x568
8 Кб, 836x265
#406 #523666
>>523493 (OP)
http://iqa.com.ua/programming/python/python-screencapture

from PIL import ImageGrab
screen = ImageGrab.grab()
screen.save('screenshot.png','PNG')
2017 Кб, 1326x800
#407 #523680
#408 #523753
>>523383
Что-то у меня тоже руки зачесались блокнотик накатать. Уровня atom, но быстрое. Но боюсь обосрусь, ибо хтмл отлично подходит для разметки, анимаций, стилей. Само мясо редактора сделать бы не на жс, но там хуй знает с расширяемостью и "хакаемостью". Сука. И куда тут денешься с подводной лодки. Вим с емаксом не предлагать, опыт есть, достаточно долгий и если честно не самый лучший.
#409 #523814
Щито не так? :(

http://ideone.com/ybYaCw
#410 #523817
>>523814
Я конечно далек от программирования, но может быть так?
http://ideone.com/IJLwqT
#411 #523818
>>523814
print dictionary1[sey]

Обращение по ключам через квадратные скобочки.
Типичный даун второго питона, харкнул на тебя.
#412 #523820
>>523818
Спасибо. Алсо, зачем так сурово?
#413 #523821
>>523820
Потому что вы заебали это говно юзать. 2015 год, блять. Второй питон, блять.
48 Кб, 212x212
#414 #523822
>>523820
Да все почти прогрессивные ребята озлоблены, не обращай внимания.
#415 #523826
>>519548 (OP)
Какой мудак придумал в питоне отказаться от скобок? Дайте имя - вставлю в молитву.
62 Кб, 736x736
#416 #523827
>>523822
Прогрессивно-агрессивный.
#417 #523894
>>523821
Пиши `#{' и `#}' и дрочи дальше на скобочки, вместо программирования.
#418 #523896
>>523894
Мимо...
>>523894 --> >>523826
#419 #523937
Я видать тупой, первое же задание по алгоритмам не могу выполнить на хекслете, хотя там основы языка дают. https://ru.hexlet.io/courses/introduction_to_algorithms
Печалька
#420 #523987
>>523937
Едрить вы даун, батюшка.
#421 #524005
>>523987
Да нет, просто наверное задание не прочитал, а вообще что нибудь легкое есть? А то канопи много место занимает, а брейнджетов дохера весит
203 Кб, 366x378
#422 #524024
>>524005

>канопи


Трижды увидел тут коноплю.
#423 #524032
>>524005
PyCharm нормально весит, у меня на ноуте за 10к шустро шевелится(w8.1) .
Если так жалко места, sublime text 2, питон, и ебись со всем этим.
#424 #524035
Питоны что скажете о кодинге под пидорОС? Норм или все же лучше линупсы? Прост охота свифт пощупать паралельно
#425 #524040
>>524035
Что за глупые вопросы? Пердон же кроссплатформа. Хоть под Девой Марией из Назарета пиши.
#426 #524044
>>524040
Ну под шиндошс не оче. Либы искать/качать под конкретную версию/разрядность. Ибо собрать пип их не может автоматом
#427 #524050
>>524044
Уже понемногу закатывается Wheel, который позволит ставить без компиляции. Эта раз.

Есть pypy, который работает только с cffi. И либы тоже имеют тенденцию перекатываться под cffi. В итоге компилять нужно только сам cffi. Эта два.

Mingw. Эта три.
#428 #524058
sage #429 #524071

>скачал пупу


>запустил на ХР


>либрари патх нот фоунд


>но модуле намед ос


>еррор еррор еррор


>запустил на спермёрке


>получил "ускорение" с четырёхсот фпс до одного


>через полторы-две секунды скрипт молча падает без каких-либо сообщений или стектрейса


Чем дальше я погружаюсь в питон, тем веселее становится.
#430 #524075
>>524035
Норм. Любой юнихлайк удобней, чем.

>>524071

>на XP


>на спермёрке


Ясно
#431 #524092
>>524075

>Ясно


Двачую. Никому не нужны 97% пользователей.
#432 #524108
>>524092

>программист


>пользователь



Про сервера слышал, маня?
#433 #524113
>>524071
Я тебе по секрету скажу, поставить что угодно pypy на мак или линукс куда проще, чем на твои спермы.
#434 #524129
>>524035
Ставишь brew, а дальше всё как в какой-нибудь убунте.
sage #435 #524159
>>524044

>Ибо собрать пип их не может автоматом


Например?
#436 #524332
Ознакомился с синтаксисом питона, стоит ли начинать изучать фласк(уже немного пробежался по примерам, понравилось), если лутца не читал? кое-какой опыт пхп имею.
не сложен ли будет фласк при позновании его если с питоном ознакомился не досканально, а может даже поверхностно?
вот, жду ваших ответов.
#437 #524349
>>524332
И еще, какую обвязку использовать для rest api, видел только backbone.js & knockout.js
#438 #524350
>>519548 (OP)
Не нашел в факе и решил спросить
https://ru.hexlet.io/courses/python_101 Хорошее начало?
#439 #524351
>>524032
Спасибо, попробую саблайм, пичарм сколько примерно? Потому что канопи весил 1.4+
#440 #524363
>>524351
180мегабайт установочник, на диске так же где-то
58 Кб, 500x516
#441 #524375
ЖАНГА ГЕРЛЗ врываются в этот itt.

https://djangogirls.org/story/
#442 #524434
>>524375
Почему нет ни PyGentlemens ни DjangoBoys? Дискриминация.
27 Кб, 320x230
#443 #524435
>>524434
Ебать ты лох.
248 Кб, 553x430
#444 #524490
>>524434

>Gentlemens


Such an ignorance!
29 Кб, 367x367
#445 #524534
Посоны, пилю прохладную былину:
решил вкатиться в айти, начал с изучения хтмл, ксс, потом пыху начал изучать + мускуль + жабаскрипт + жикверя, в итоге попал на курсы по пыхе, там писал проект в команде и... понял, что мне не нравится изучать вебдев, мне не нравится писать сайты, это говно ебаное, все эти фремворки, цмс, каждый раз как начинаю изучать эту парашу меня тут же начинает тошнить и начинается депрессия. Я подумал и понял, что ебись оно конем, буду двигать в сторону администрирования, и вот на глаза мне попалась книгу доусона по пайтону и на хабре статья об админстве, где утверждалось, что умения писать скрипты на том же пайтоне может очень пригодится. То есть, можно изучить ЯП с не высоким уровнем вхождения и применять его предметно, а не блядь для сраных вебсайтов, визиток и прочих говнопорталов. Вопрос - так ли это? Или на пайтоне тоже сраные сайты пишут и никаких скриптов для работы под линухом и прочего фана в виде игорей?
#446 #524543
>>524534
на нем все можно написать
#447 #524544

Прошло 7 лет со дня релиза 3-го питона, а некоторые дауны все еще используют 2.*.
#448 #524546
>>524543
Как питоновский файл запускать как исполняемый в бубунте? Чтобы как в винде - даблклик и вуаля, а то пока едитор открывается, вот как идле запускать я уже нашел, а вот как исполнять даблкликом - хуй. Установка галочке в чекбокс - сделать исполняемым нихуя не изменило.
#450 #524549
Кто знает какие-то туторы по торнадо, кроме оф. документации?
#451 #524550
>>524548
#!/usr/bin/python3 достаточно будет?
#452 #524551
>>524550
Да. Но если у тебя там консольное приложение - надо делать еще open with твой_терминал. Иначе ты ничего не увидишь.
#453 #524554
>>524551
В общем, добавил щибанг(#!/usr/bin/env python3) в файл скрипта(просто принт(тест) + инпут(нажми интор сука, чтобы выйти)), сделал chmod +x path/to/test.py - дабл клик и снова открывается эдитор. ЧЯДНТ? Тут на стаке вообще предлагают сделать файл .десктоп и там описать как и чем запускать скрипт, а скрипт переименовать в тест.десктоп. Подскажи, что к чему, а то я ньфаг в юниксе, особенно по части пайтона.
#454 #524557
>>524554
про юзр/бин/енв пайтон3 - уже понял свою ошибку и написал правильно - #1/usr/bin/python3, на всякий случай снова сделал chmod +x path/to/test.py, все ще не работает.
16 Кб, 288x226
#455 #524560
>>524557
>>524554
>>524551
В общем, сделал файл - закинул туда
[Desktop Entry]
Name=Test
Exec=/home/blabla/test.py
Terminal=true
Type=Application
сделал chmod +x /home/blabla/test.desktop
Теперь могу запускать скрипт как экзешник по даблклику на файл Тест. Но разве это единственный способ? Есть еще какие? Или мне всегда придется созщдавать вот такой отдельный экзешник?
#456 #524561
>>524554
Шабанг первой строчкой? Должен быть самой первой. env или прямой путь - похуй.

>#!/usr/bin/python3


>print("test")


>input()



chmod +x test.py

Даблклик из файлового манагера - вижу терминал с тестом.
#457 #524564
>>524561
Да, первой же строкой и по дабл клику открывается текстовый редактор.
#458 #524565
>>524564
Ну хуй знает, поковыряйся в контекстых менюхах по ПКМ на .py, там ассоциации какие-то как в винде, "запустить с", дефолтные действия, вот это все.
#459 #524582
Прокачал кое-какой скилл в python. Какие мои дальнейште шаги, чтобы зарабатывать на фрилансе той же джангой?
#460 #524606
>>524582
Подозреваю, что найти какой-либо заказ нужно.
#461 #524609
Пацаны, как активировать виртуальное окружение скриптом? Пишу что-то типа
#!/bin/bash
. venv/bin/activate
и нихуя не происходит.
#462 #524612
>>524609
"source" не надо?
#463 #524615
>>524612
C "source" тоже ничего не происходит
#464 #524617
>>524609
полный путь прописывать пробовал?
#465 #524623
>>524617
Полный путь до чего?
#466 #524624
Ознакомился с синтаксисом питона, стоит ли начинать изучать фласк(уже немного пробежался по примерам, понравилось), если лутца не читал? кое-какой опыт пхп имею.
не сложен ли будет фласк при позновании его если с питоном ознакомился не досканально, а может даже поверхностно?
вот, жду ваших ответов.
И еще, какую обвязку использовать для rest api, видел только backbone.js & knockout.js
#467 #524626
>>524623
До вирт. окружения
#468 #524630
Можете ткнуть меня в доки, полностью описывающие процесс создания и распространения через PyPI пакета? Я что-то запутался - слишком много всего: куча инструментов, куча пакетов, половина из них подписана как "легаси", и так далее.
Какой официальный способ создания пакета в 2015 году?
#469 #524640
>>524624

>досканально


Да твою ж мать! Ты постишь эту херь каждый тред и по-прежнему не удосужился ДОСКАНАЛЬНО выучить русский язык. Иди убейся.
#470 #524642
>>524640
Хуй с русским языком, он спеллчекер не осилил поставить. Программист, блять.
#471 #524659
>>524640
Ну ответь тогда на мой вопрос, хули.
#472 #524661
>>524624

>доскoнально


slowfix
66 Кб, 436x600
#473 #524664
>>524659
Подожди немного, я сегодня назад начал изучение пайтона. С книги Доусона. Еще немного позанимаюсь и подскажу тебе.
lol, спроси у кого-нибудь другого
#474 #524683
Котаны, как распарсить первую ссылку с поисковой выдачи яндекса?
Вроде всё правильно выбираю, а выдаёт всё время вторую ссылку.

`page=parse('http://ya.ru').getroot()
page.forms[0].fields['text']='python'
result=parse(submit_form(page.forms[0])).getroot()
hrefs=result.cssselect("a.serp-item__title-link")
print(hrefs[0].get("href"))`
Загадка для петонных шерлоков #475 #524686
Петоны, петончики.

Получил код, в котором map применялся к list как метод.
Т.е. вместо:
map(функция, [1, 2, 3])

было:
([1, 2, 3]).map(функция)

Последнее компилятор не понимает, да и гугл не выдает примера такого вот синтаксиса. Вопрос: чем компилировал автор кода?
Убийца - дворецкий #476 #524712
>>524686
Метод применяется не к листу, а к pandas DataFrame, у него есть метод map().
#477 #524716
>>524664
Ну давай быстрее учи давай, плс!
#478 #524720
lel
#479 #524726
>>524609
Пиздец ты тупой. Ты вообще понимаешь что такое ./source (это одно и то же, просто "." это более краткая форма) и почему люди не пишут вместо него "bash/sh/zsh"? Погугли сначала, потом пройдет просветление.
виртуальное окружение активируется, но в child-шелл-окружение, долбоеб.
#480 #524730
>>524664
А почому Доусона? хуйня какое-та
49 Кб, 500x404
#481 #524736
>>524730
Хит продаж, считается лучшей книгой для новиса в пайтоне, да и всего 387 страниц из которых я сегодня за пару часов 92 разобрал. На очереди Лутц лежит, та которая Учим Пайтон, программируем на пайтон не нашел пока, да особо и не искал. В общем, все по порядку. Решил вкатиться с того, что попроще, хотя знание пыхи(в смысле хоть какого-нибудь ЯП), конечно, все облегчило. Еще вот из вкусненького лежит - Пайтон в системном администрировании Юникс и Линупс, не терпится до не добраться, я как неофит линупса очень полюбил эту систему.
#482 #524745
Туплю следующим образом: не могу вернуть значение из крайней в стаке рекурсивной функции
Вот например
def main(x):
x+=1
if x>7:
return x
else:
main(x)

print(main(5))

как мне протащить наверх и распечатать х когда он станет больше 7?
И почему эта пизда кормит мен я None? скорее логичнее было бы получить 5 на выходе, не?
#483 #524749
>>524745
return main(x)
#484 #524750
>>524736

>Изучаем Пайтон


fixed

Сразу Лутца, "Изучаем" -> "Программируем".
У Доусона смотрел, хуйня какое-то про игры.
#485 #524754
Почему все игнорируют дайв инто? Я вот по ней осваивал. Даже до конца не дочитал, годнота же. Как надоест так можно сразу уже к делу и документации переходить. А для более-менее опытных — кукбук.
#486 #524755
>>524754
Видимо паста отпугивает. А вообще удваиваю, годная книжка, и воровать не надо.
#487 #524756
>>524755
Ingrish only?
#488 #524758
>>524756
Не знаю, наверное. Я прямо отсюда читал - http://www.diveintopython3.net/
#489 #524760
>>524758
Мой ингриш слабоват пока, потому я обычно читаю на гузком в начале, а лишь когда пойму что к чему, тогда только к ангицким версиям перехожу.
#490 #524774
>>524756
>>524760
То, что она не переведена слава аллаху не значит, что книжка плохая. Как уже три миллиона раз говорилось: надо читать на английском, всё равно придётся, так зачем откладывать это в долгий ящик? Я осваивал так: читаешь, ага, не понял слово или оборот, загуглил, понял, читаем дальше. Чем дальше, тем меньше будет гуглений и баттхурта.
#491 #524777
>>524774
Да я могу читать документацию, и читаю давненько, но скорость меня вгоняет в депрессию, потому я обычно технологию в общем осваиваю, а потом начинаю углубленно учить по нормальным книгам без перевода, так легче понимать о чем читаешь. А вообще, да, нужно учить инглиш обязательно, это понятно.
#492 #524819
>>524683
Бамп вопросу.
Это lxml, если что.
#493 #524834
>>524819
Используй суп + html5lib
#494 #524853
>>524834
Почему я не могу это через lxml сделать? Для моих задач вполне удобный инструмент.
#495 #524855
>>524853
Потому что суп для этого и сделан. Для работы с html, а html5lib — парсер, которым суп пользуется.
#496 #524859
>>524855
Но ведь lxml тоже может прекрасно парсить.
#497 #524864
>>524859
О, теперь заработало. Видимо, это у яндекса рандомно появляются спецвставки с википедией.
#498 #524890
А я тут сделал класс, который как словарь, но можно к элементам через точку обращаться. Просто оставлю тут.
#499 #524892
>>524890
Шутка, не оставил.
http://ideone.com/DV8GUd
#500 #524900
>>524859
Понятно что может, но зачем? Можно и долотом лес рубить.
#501 #524901
>>524859
Можно и самому себе отсосать, но не факт что это удобно, и не факт что все так и было задумано
#502 #524902
>>524900
Лол, мы мыслим одинаково
>>524901-кун
#503 #524912
>>524900
lxml.html это не долото, а вполне себе годный топор. В конце концов не зря же туда слово html приписали. Зачем мне пересаживаться на экскаваторы с буром и кофеваркой, когда можно и топором.
#504 #524914
>>524901
Тащемта, если кто-то хочет себе ососать - значит так оно и задумано, кто ж ещё может так задумать, если не сосущий.
#505 #524916
>>524914
Вот он хочет, а хуй короткий, хрен достанешь. Видимо таки задумка Боженьки > задумка червя-пидора.
#506 #524922
Здравствуй, товарищ. Хочу на питоне качать файлы из интернета. Много. Естественно, не в один поток. Что выбрать? Мультипроцессинг, asyncio? И как понять сколько параллельных задач можно выполнять с максимальной производительностью?Здравствуй, товарищ. Хочу на питоне качать файлы из интернета. Много. Естественно, не в один поток. Что выбрать? Мультипроцессинг, asyncio? И как понять сколько параллельных задач можно выполнять с максимальной производительностью?
#507 #524928
>>524922
Threading в помощь. Говорят, не больше пяти делать, хотя точно про зависимость от процессора и канала не знаю.
#508 #524929
>>524922
aiohttp or Queue + threading
#509 #524931
>>524928
Хоть 100500
io-bound задачи у нас хорошо параллелятся.
#510 #524936
>>524931
>>524928
>>524929
Благодарю.
#512 #525019
>>524922
>>524936
Про keep-alive не забывай, нехуйвый прирост скорости на ровном месте.
363 Кб, 1200x1920
125 Кб, 1920x1200
#513 #525041
Налетай, питоны.
#514 #525042
>>525019
Ты имеешь в виду, когда с одного сайта качать, не обрывать соединение?
#515 #525044
>>525041
Лолд.
#516 #525111
>>524892
Охуеть велосипед.
#517 #525135
>>525041

>junior


>опыт от двух лет


Это нормально?
#518 #525149
>>525135
Я думаю нет, если кодер за джва года практики не тянет на мидла(учитывая ебанутые требования к джунам при приеме), то он еблан какой-то. В общем, классика - хуесосы хотят выполненную мидлом работу за деньги как для джуна.
#519 #525153
>>525149
Но "от 80к" это норм бабло
#520 #525155
>>525153
Тогда они не шарят кто такие джуны.
#521 #525156
>>525111
Вот только такого нет в стандартной библиотеке.
#522 #525160
#523 #525164
>>525156
Есть namedtuple если хочешь "через точечку обращаться".
Но вообще зачем? Чтобы запутать пользователя? Когда ['foo'] используешь сразу понятно что это dict.
#524 #525175
>>525164
Да прост сделал. Писал скраппер для двача. А там catalog.thread.comments.threads.number
Вот и подумал, что удобнее через точку будет.
#525 #525194
>>525175

> скраппер для двача


Платиновые задачи pr за 200.
304 Кб, 1920x1080
#526 #525195
roll
#527 #525198
Кто нибудь мне пояснит зачем нужен модуль threading, если от него нет никакого ускорения? Или это именно из-за операции записи на жесткий диск?
Если раскомментировать мультипроцессинг, то там все четко. Выполняется параллельно.
#528 #525199
>>525198
Ускорение есть. На некоторых операциях просто локинг, но это в любых многопоточных приложениях у тебя локинг тоже будет и ускорение нелинейное.
Это раз. Второе если ты дергаешь функции написанные на си или работаешь с сетью/диском то ускорение огромное.
#529 #525201
>>525199
Вот именно, что работаю как бы с диском (посмотри код) но ускорение дает только мультипроцессинг. А треды выполняются по очереди.
#530 #525202
>>525198
Трединг был хорош для ио-баунд задач, пока не появился асинкио.
#531 #525204
>>525202
До того как появился асинкио были twisted, greenlet, gevent и прочее.
>>525201
В мультипроцессинге тебе придется использовать всякое ipc немерянно что даст тебе замедление.
И вообще что за задача? Числодробилка какая-то? На питоне?
#532 #525220
Нужен список задач на питоне по всем областям и всем структурам, алгоритмам и прочему. Чтобы завершить и быть готовым если что повторить в продакшене. Кто подсобит?
#533 #525224
#534 #525232
>>525220

https://github.com/karan/projects

Будешь, как ебучий Джон Рэмбо
#535 #525242
>>525175

>скраппер


Что это?
#536 #525249
>>525232
Спасибо, друг.
#537 #525260
>>525204
Просто записываю скаченный файл на диск. С помощью aiohttp качаю, вот теперь думаю как лучше всего сохранять.
#538 #525263
>>525242
Ну тип качает странички. Гугли python scrappy.
#539 #525273
>>525242

>scrapper(дуэлянт/скребок/забияка/драчунья/скреперный)


Ты што, быдла, в ангельский не умеешь щтоле?
#540 #525277
>>525001
Молодец, мне нравится
#541 #525292
>>525273
"Забияка для двача" - ты ебанутый чтоле?
#542 #525305
>>525001
Гандон, мне не нравится.
#543 #525312
Сап, анон. Пилю REST сервис на фласке, какую аутентификацию посоветуешь использовать и почему?
#544 #525366
>>525201

>(посмотри код)


Где посмотреть-то? Может ты неправильно треды запускаешь, или вообще в интернете дело, раз странички качаешь.
#545 #525389
>>525366
http://ideone.com/SBIuvN
Ну я как всегда забыл приложить.
#546 #525398
>>525389
Надо делать thread.start()
thread.run() просто выполняет функцию которую ты указал в target. threat.start выполнеят её в отдельном треде.
http://pymotw.com/2/threading/
#547 #525410
>>525398
Вот ептыть. Спасибо, бро.
#548 #525415
>>525312
Ну же, анон. Поделись опытом
#549 #525416
>>525415
Открой какой-нить туториал епта.
Нахуй вообще тебе rest сервис?
#550 #525437
Обьясните нахуя нужны асинхронные веб-сервера вроде торнады?
#551 #525440
>>525437
Намного быстрее, может держать тысячи соединений легко. Даже десятки тысяч.
Альтернатива этому этому плодить огромное количество потоков или процессов.
72 Кб, 500x960
#552 #525460
>>525305
Между прочим гондон не ругательство, гондон - он защитник.
#553 #525472
Поделюсь годной либой https://github.com/madisonmay/Tomorrow
Случайно нашел, теперь мои велосипеды не нужны, только зря они в примере не используют keep-alive, это же халявный если сервер нормальный прирост скорости когда нужно качать овер дохуя файлов хотя там разные сервера в примере.
#554 #525484
>>525460
бялд, подумал что это дрочильный носок.
#555 #525485
>>525484
Это он и есть.
#556 #525488
Ребята, писал на PHP/Laravel, появилась возможность перелезть на Python/Django (в том числе и потому, что работы нет, везде на серверной стороне Битрикс через Битрикс Битриксом погоняет), но я немного испугался того, о чём совсем не знаю. Можете просто как-то прокомментировать экосистему разработки программ для браузера на Питоне/Джанго и осмысленность такого перехода? Кроме Джанго есть что-то популярное, насколько оно хорошее? Вопрос, наверное, риторический, но удобные инструменты для электронной коммерции и платёжных шлюзов, разумеется, тоже в наличии? И менеджер пакетов? На Виндовс желательно с Питоном через виртуализацию работать, правильно? Vagrant-бокс с Питоном и Hyper-V существует популярный?

Извиняюсь за вопросы, которые мог нагуглить, просто попробуйте ответить сходу на что-то, пожалуйста, а чего не увижу, потом просто загуглю. Спасибо!
85 Кб, 720x519
#557 #525505
Перекiт пилите, а то чет не очень прилично сидеть на второй странице.
#559 #525518
>>525488

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


Эм, это MVC фрейморк, в php тоже есть подобные, то есть ты пишешь шаблоны, модели вьюшки и т.п. Потом запускаешь uwsgi или fastcgi сервер и наводишь на него nginx. По типу php-fpm или как его. Есть и девсервер для тестирования который одной командой запускается

>Кроме Джанго есть что-то популярное, насколько оно хорошее?


Есть. Хорошее. Но работы больше всего с django

>но удобные инструменты для электронной коммерции и платёжных шлюзов


Есть полно.

> И менеджер пакетов?


Есть смотри
https://www.djangopackages.com/
https://pypi.python.org/pypi?%3Aaction=search&term=django&submit=search
Можешь там поискать сразу модули для твоих плалежных шлюзов

> На Виндовс желательно с Питоном через виртуализацию работать, правильно?


Да, но не обязательно. Некоторые на винде сидят.
#560 #525760
asd
#561 #526479
>>525760
Чего?
Тред утонул или удален.
Это копия, сохраненная 25 августа 2015 года.

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

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