Двач.hk не отвечает.
Вы видите копию треда, сохраненную 9 августа 2015 года.

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

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

>я нужен


Но ты же не рубихач, доказывающий свою индентичность окружающим.
#3 #506137
И сразу вопрос.

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

Есть ли какой-нибудь скрипт, который проверит все остальные файлы на предмет подобных траблов?
#4 #506144
>>506137
Он импортирует эти переменные прямо в софт что ли? Так-то ничего страшного не должно произойти в скрипте, если он сам не пытается там же использовать dir по назначению.
#5 #506148
>>506137
У каждого питоновского модуля своя область видимости. Можешь быть спокоен за чужой говнокод, тебя это не касается.
#6 #506151
>>506137
Пространства имён — отличная штука! Будем делать их побольше!
#7 #506152
>>506148
Загрузочные скрипты могут импортироваться в программу - скаем, там переопределили половину билтинов, а дальше сделали фром щит иморт zuvozidochka в теле скриптового модуля. Потому и уточнил - понимает ли анон точно, что делают переопределенные билтины или просто читал, что это бэдстайл (а это бэдстайл).
#8 #506156
>>506148
Я не могу быть спокоен. Потому что у меня уже возникли проблемы из-за чужого говнокода.

Софт написан на с++. На пайтоне сделана подсистема для скриптинга. Эти скрипты при загрузке меняют интерфейс, создают всякие панельки, делают еще кучу всего. Все это происходит в фоновом режиме.

Когда же я начинаю работать в скриптовой консоли, то выясняется, что функция dir() теперь выдает ошибку.

Скрипты это не написаны изначально, как красивые пайтоновские. А выглядят как программы на Фортране. Куча for-loop и последовательностей команд. Никакие классы, модули и функции не создаются вовсе.
#9 #506159
>>506156
Пиши в суппорт.
#10 #506163
На stackexchange.com один умник пишет:

"It doesn't make sense to privilege the built in functions like len, str, and so on, because that would require a core language change."
303 Кб, 554x559
#11 #506164
>>506156

>Скрипты это не написаны изначально, как красивые пайтоновские. А выглядят как программы на Фортране.

239 Кб, 1959x1959
#12 #506170
>>506156

> Софт написан на с++


> Скрипты это не написаны изначально, как красивые пайтоновские. А выглядят как программы на Фортране


Налицо работа крестодауна!
#13 #506173
>>506170
Фортранщик поработал, написано же.

>>506156

>функция dir() теперь выдает ошибку


Какую? del dir() сделай - заработало?
#14 #506174
>>506173

>del dir


Фикс.
#15 #506175
>>506173

> del dir() сделай


Мне это не нужно делать -- в косячном скрипте поменял имя переменной на нормальное. Теперь там все хорошо.

Но сколько еще таких мин могло остаться. Скриптов дохуя. Часть из них идет в комплекте с программой от разработчика, часть как плагины от других людей.
#16 #506257
Что нового в питонном мире? Что есть интересного кроме веб-стека, numpy/sympy/matplotlib?
#18 #506301
>>506262
Здорово, но я всё же предпочту связку стабильных и привычных инструментов. В matplot есть хороший просмотрщик, браузер хорошо отобразит любую таблицу и формулы. Вот ещё интересная вещь нашлась: http://mpld3.github.io/index.html matplotlib с просмотрщиком внутри браузерной страницы.
#19 #506522
Бамп.
#20 #506582
>>506347
Зачем нужен gevent в 3-м питоне, асинхронность в котором из коробки?
#21 #506584
Привет, анон. Помоги с кодом. Пишу в PyCharm. Учу Пайтон совсем немного, в основном балуюсь и не тороплюсь учить что-то новое. Суть в том, что у меня gold не минусуется после разветвления, а только увеличивается, и в принципе там проблемы, начиная с if.
http://pastebin.com/0DgZdKF8
#22 #506595
>>506584
Мне важна лишь сама работа кода и какие-то заметки по упрощению или ещё чему.
#23 #506597
>>506584
Ты сравниваешь с переменными, а не со стрингами. Если бы ты назвал их по-разному, то понял бы в чем проблема. А вот у тебя стринги и переменные называются одинаково, и ошибки интерпретации нет.
#24 #506599
>>506597
Можешь пофиксить, чтобы я понял? Без примеров плохо понимаю.
#25 #506604
>>506599
http://pastebin.com/Un72yvkP
Я просто заменил резко на пастебине, не запускал у себя, так как придётся разобраться заодно в твоем коде. Но если не сработает/не поймёшь - напиши, разберусь.

>input


>reads a line from input, converts it to a string and returns that

#26 #506612
Братишки! Покушать принес.
https://www.youtube.com/watch?v=wf-BqAjZb8M
#27 #506613
>>506604
Не знал, что инпут сразу в стринг конвертирует. Как бы логично, но я не думал об этом, лол. Спасибо, теперь всё работает.
#28 #506615
>>506584
Тип кривой
6.attack = 1
7.health = 10
это int, целочисленный тип

20. choice = str(input("Heal,...

Чойз это строка. Как строку с числом сравнить? в 20 строке принимай число, и эксепшн запили, для крутости.
#29 #506624
>>506615
А он не с переменными сравнивает, а со словами, просто в кавычки их не взял.
#30 #506626
>>506624
ох йобана...
#31 #506645
Добрый вечера, ребята. Какой материал порекомендуете для успешного вкатывания в веб-разработку на питоне? До этого был небольшой опыт шлепания формочек на пхп. Благодарю за помощь.
#32 #506651
>>506645
Может, лучше с жс начать? При твоём инпуте (средневакуумный веб) - ты уже имеешь некоторые знания скриптовых языков, а вот основу средневакуумного веба ещё не трогал.
149 Кб, 590x393
#33 #506690
>>506651
Нет. По мне так это параша какая-то.(Извиняюсь если кого-то обидел)
Мне кажется что код на жс получается громоздкий и не очень логичный - сужу по некоторым примерам на гитхабе.
Почему считаешь что лучше с жс начать?
У меня крепкий инпут - лет с 13 начал ковырять скрипты на пхп, но ничего серьезного не достиг с того времени. Понимание MVC, OOP(чуть больше средневакуумного уровня), с HTML/CSS тоже естественно знаком. Примерно такой инпут.

>средневакуумного веба


Кстати, что имеешь ввиду под этим?
#34 #506703
>>506690

>Кстати, что имеешь ввиду под этим?


Средневакуумный, потому что ты не написал, чем хочешь заниматься точно. Веб без жс если и возможен, но при этом ты жс знать-то должен, особенно в комплект с хтмл/цсс.

>По мне так это параша какая-то.


Нахуя ты в веб-то лезешь, в таком случае? (Ничего личного.)
#35 #506707
>>506645
Делай туториал на сайте django с голосовалками.
#36 #506723
>>506703

>Средневакуумный, потому что ты не написал, чем хочешь заниматься точно. Веб без жс если и возможен, но при этом ты жс знать-то должен, особенно в комплект с хтмл/цсс.


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

>Нахуя ты в веб-то лезешь, в таком случае? (Ничего личного.)


Потому что питон. (Без обид.)
#37 #506758
Есть кофеёк, почти питон. Местами луче, местами отдаёт js-парашей, но для фронтенда человеку, пишущему на пифоне, ничего лучше нет.
#38 #506788
>>506758
Что такого сложного в том, чтобы выучить язык? Я, конечно, далёк от веба, но даже из моего "мухосранска" слышал, что веб переплетён с жсом тесно, и знание это хотя бы просто повысит квалификацию программиста.

Чем-то напоминает людей, которые хотят чего-то достичь, достать каких-то знаний, имеют мотивацию, интерес, готовы носом землю рыть, но с одним условием - DAITE RUSEK PLZ.
#39 #506828
Посоны, как повторить обход аргументов через argparse?
Хочу так -./stuff.py --show --do-something --show

>show: 0


>doing stuff..


>show: 1



Можно конечно набрать количество True аргументов в args и сделать for range(len(trueArgs), но это костыльно как-то.
#40 #506836
>>506828

>trueArgs


Пиздос!
#41 #506839
>>506788

>Что такого сложного в том, чтобы выучить язык?


>слышал, что веб переплетён с жсом тесно


>слышал


>CoffeeScript


>Python thread


>\0



Вопрос был о вкатывании в веб-разработку на питоне и жс мне нужен, лучше скажите какие материалы можете посоветовать на эту тему.
#42 #506840
>>506836
Чего? А как ты предлагаешь?
#43 #506844
>>506828
Мда. Доки читай, велосипед оставь в покое
#44 #506845
>>506844
Прочитал прежде чем спрашивать, ничего нужного не увидел. Покажи, где и что?
#45 #506848
>>506840
PEP8 курни. Переменные называются в режиме мелкобуквенного хуйла через андерскор - true_args. Скажи подробней, что ты хочешь сделать и что именно сейчас работает не так как нужно?

>>506839

>\0


Что это? Терминатор? Я нихуя не посоветовал, как русский только поучил жизни и дал бесплатный совет. Прости.
#46 #506857
Анон, подскажи что надо уметь для вакансий уровня
1)Junior
2)Mid
3)Senior

Какие задачи решает каждый из них? Опиши подробнее, будь так добр.

Все в контексте django/flask/tornado/etc.
#47 #506858
>>506849
А мне нравится - очень питонично. Вот у жаваскриптеров - псевдофак из вопросов для людей непонятно что делающих в /pr/, которые никому не интересны и которые никто не задавал. Вот кстати оп второго треда мало того что слепой, так ещё и чухан-кун, склонный раздувать шапку левым говном.
#48 #506861
>>506857
Глянуть на биржах труда, может?

http://www.indeed.co.uk/Junior-Python-Developer-jobs
Типа.
sage #49 #506864
>>506858
А плюсов тред выглядит как сами плюсы. Пикча говно. Номера нет.
#50 #506865
>>506848
Я хочу чтобы аргументы можно было повторять.
Например - ./stuff.py --show --do-something --show

>show: 0


>doing stuff..


>show: 1


Если готовить argparse по докам и туториалу (https://docs.python.org/3/howto/argparse.html), то в --show --do-something --show отработают только первые две опции, а третья не отработает, потому что мы ее уже "прошли".

Вот пример - https://ideone.com/IqbxyL
Запускаем, ./stuff.py --show --do-stuff --show
show
doing stuff

>true_args


ok
#51 #506867
>>506861
Ну пиздец, Computer Science degree и минимальный навык python. Нужно писать сайты.

Пердак просто рванул. Бесплатное печенье дают, блять.
#52 #506869
>>506865
Сорцы не смотрел, но эта штука итератор не использует разве? Сделай его копию, а не копию листа, и еще раз пройдись.
#53 #506870
>>506869
Она работает через неймспейсы. И для булевых аргументов получается такая хуйня, сколько аргумент не повторяй:
print(args)

>Namespace(do_stuff=True, show=True)



Можно сделать action='append', и тогда будет считать количество. Но аргументы перестают быть булевыми, и приходится указывать позиционные аргументы:
./stuff.py --show 1 --do-stuff --show 1 --show 1

>Namespace(do_stuff=True, show=['1', '1', '1'])


А позиционные аргументы мне нахуй не нужны.

У меня фрустрация, короче.
91 Кб, 950x531
#54 #506871
Учу питон по курсере.
Почему у меня на пике минимальное значение не считывается?
#55 #506874
>>506871
if num < smallest or smallest is None:
#56 #506879
>>506874
Ага, благодарю.
Уже вставил еще один if
if smallest is None:
smallest = num
#57 #506885
>>506788
Чем тебе кофе, не веб, долбоёб?
>>506870
Используй docopt.
#58 #506886
>>506885
*кофе не веб
#59 #506887
>>506870
Всплыла еще одна проблема. argparse не умеет сохранять порядок, в котором аргументы были даны. Пиздец.
#60 #506890
>>506885

>docopt


Ок.

Но блджд, почему argparse такое убожество? Три модуля в питоне для этих дел не считая sys.argv, один низкоуровневый, один устаревший, и один говно.
#61 #506892
>>506870
Глянь сам файл аргпарса в сорцах пистона - может, получится малой кровью отнаследоваться и запилить свой модуль аргпарса, с блекджеком и шлюхами.

>>506864

> Номера нет.


Это плюс.
#62 #506894
>>506885

>Чем тебе кофе, не веб, долбоёб?


Как, опция, для, человека, уже, знающего, жс, не, более.,
#63 #506901
>>506894
У нас контуженный!
#64 #506911
>>506894
Я ваш кофескрипт в вакансиях вижу только в качестве legacy 2-летней давности. Хайп прошел, юзеры-синиоры подохуели от подводных камней и дропнули это говно. Хотя прозреваю будущее кофе на нодке (потому что бэкэндеры это те еще говноеды, знаю по себе).
#65 #506920
>>506911

> подводных камней


Ай да какие там камни. Он 1-к-1 транслируется практически, просто слегка улучшенный синтаксис для жаваскрипта, не более. Принципиальных проблем по сравнению с ЖС у него не может быть в принципе, потому что он не делает ничего принципиально нового.
#66 #506922
>>506911
Снайпер что ли? Моя область - это область-мухосранск, 15 человек на всю страну занимаются этим говном. Если я её хотя бы назову, это даже сорт оф дианон будет. Но не веб. Алсо, я не считаю, что лезть в отрасль на хипстерские инструменты и при этом отказываться учить ключевые - это умно. Жс ты можешь не любить, но, бля, выучи его, чтобы не творить полную хуйню, когда будешь соприкасаться с жсерами, если даже сам не будешь жсить. А так, имхо, это банальное невежество, и такому подходу лишь можно пожелать УДАЧИ.

>>506901
А-А-А-АСЬ?
#67 #506938
>>506890
Таки плюнул на этот argparse и взял родной getopt из батареек. Кода в десять раз меньше, а функциональность больше. Все что нужно реализуется с пол-пинка. Вот тебе и инновации.
#69 #506940
>>506939
https://docs.python.org/3.4/library/argparse.html#action
По поводу повтора аргументов я извернулся так:
parser.add_argument("--show", action='append_const', const=True)
С --show --show получится

>Namespace(do_stuff=True, show=[True, True])



Но потом понял что еще нужно сохранять порядок, в котором 'эти аргументы даны. argparse опять этого не умеет, а с наследованием и кастомным action получается больно дохуя кода. В гугле народ для этой темы вообще портянки воротит. Написал версию с getopt и она выиграла по лаконичности. Такие дела.
#70 #506984
>>506890
В стандартной либе много кала, от которого нельзя избавиться, совместимость. Сейчас тенденция на сторонние пакеты с пупи, и это правильно. Чем раздувать стандартную очередным парсером, лучше выложить их на пупи и дать выбор.
>>506922
Как тебе уже сказали выше, кофе и есть жс.
36 Кб, 604x377
#71 #507005
Бамп вопросу >>505273
Или для этого надо какой-нибудь фреймворк использовать? Или как-то на JS самому костыль сделать? Чт-то я завис.
#72 #507016
>>507005
используй ajax:
подключи jquery в html, и обработай клик по картинке с классом .clickable_img:
$('.clickable_img').click(function(){
$.ajax({
type: "POST",
url: "/proceed_image_click_python_script",
async: true,
data: {img_src: $(this).attr("src")}
});
return false;
});

в обработчике url "/proceed_image_click_python_script" обработай POST запрос в который должен передаться параметр img_src. в джанге это делается так: img_src = request.POST.get('img_src', None)
#73 #507017
>>507005
>>507016
и это ебать в рот АЗЫ. еще один такой вопрос и я тебе челюсть сука откушу.
8 Кб, 618x254
#74 #507018
>>507017
Благодарю.
Да я с вебом почти не имел дел пока. Но тут вдруг решил написать что-то вроде браузерного вьювера для своих картинок. Подумал, что полезно будет попытаться сделать всё это на "чистом" Питоне.
#75 #507022
>>507018
ну дак почитай хотя бы сначала, туториал сделай какой-нибудь... чо ленивый то такой?
#76 #507118
Часто в разном коде встречают одну и ту же ситуацию, когда есть иф, который проверяет условие которое сработает только при первом вызове функции. В своём коде предпочитаю это фиксить (покажу дальше решение), но насколько стоит это делать, по-вашему?
Объясню на примере. Допустим есть какой-нибудь класс для экспорта чего-нибудь в csv и нужно, чтобы при первой записи были также записаны заголовки таблицы, при этом написать заголовки заранее не при вызове функции нельзя, потому что они основываются на том, что придёт на первую запись. И в __init__ у этого класса объявляется что-то типа self.include_headers = True. Также у этого класса есть основная функция write, которая, собственно, и пишет чего-то там в csv. Как-то обычно оно так:

[code lang="python"]
def write(self, item):
if self.include_headers:
self.include_headers = False
self.write_headers(item)
self.writer.writerow(item)
[/code]

Т.е. постоянно чекается это бесполезное условие. Я же обычно делаю вот так:

[code lang="python"]
def __init__(self, ...):
...
self.write = self.write_headers_with_item

def write_headers_with_item(self, item):
self.write = self.write_item
self.writer.writerow(item.headers)
self.write_item(item)

def write_item(self, item):
self.writer.writerow(item)
[/code]

Насколько я мудак, что так делаю, или всё нормально?
#76 #507118
Часто в разном коде встречают одну и ту же ситуацию, когда есть иф, который проверяет условие которое сработает только при первом вызове функции. В своём коде предпочитаю это фиксить (покажу дальше решение), но насколько стоит это делать, по-вашему?
Объясню на примере. Допустим есть какой-нибудь класс для экспорта чего-нибудь в csv и нужно, чтобы при первой записи были также записаны заголовки таблицы, при этом написать заголовки заранее не при вызове функции нельзя, потому что они основываются на том, что придёт на первую запись. И в __init__ у этого класса объявляется что-то типа self.include_headers = True. Также у этого класса есть основная функция write, которая, собственно, и пишет чего-то там в csv. Как-то обычно оно так:

[code lang="python"]
def write(self, item):
if self.include_headers:
self.include_headers = False
self.write_headers(item)
self.writer.writerow(item)
[/code]

Т.е. постоянно чекается это бесполезное условие. Я же обычно делаю вот так:

[code lang="python"]
def __init__(self, ...):
...
self.write = self.write_headers_with_item

def write_headers_with_item(self, item):
self.write = self.write_item
self.writer.writerow(item.headers)
self.write_item(item)

def write_item(self, item):
self.writer.writerow(item)
[/code]

Насколько я мудак, что так делаю, или всё нормально?
#77 #507148
Как сделать что бы из текстового файла по кругу печатались строки
#78 #507155
>>507118
Это точно по-мудацки. Уж лучше с ифом.
#79 #507189
Поясните чайнику как numpy поставить.
#80 #507194
>>507189
pip install numpy
#81 #507204
>>507189
Гугли python numpy binary.

Вопрос по оформлению.
Например, есть цикл внутри функции, который пробегает по массиву и собирает из него элементы по условию, которое является параметром функции. При это параметр включает условие, если он есть, и отключает если его нет. Т.е. объекты из массива все равно надо собирать.
Как лучше?
Так:
[CODE]for i in lines:
if NO_RECTANGLES and round(i.x0) == round(i.x1):
lines_y.append(round(i.y0))
else:
lines_y.append(round(i.y0))[/CODE]
Читаемо, но с повторением.
Или:
[CODE]for i in lines:
if (NO_RECTANGLES and round(i.x0) == round(i.x1)) or (not NO_RECTANGLES):
lines_y.append(round(i.y0))[/CODE]
Менее читаемо, зато без повторения.
15 Кб, 836x787
#82 #507206
>>507148
Так:
http://pastebin.com/sxYJs4Aw

fl = open("looptext.txt", "r")
count = 0
while count != 1000:
----for i in fl:
--------print(i, end="")
----count +=1
----fl.seek(0)
----#print(count)
fl.close()
#83 #507210
>>507148
f.readlines() в лист прочитай и печатай по кругу из листа.
#84 #507211
Бля, не копипастите сюда код, никто не ставит этот костыль от васяна. Пастебин.
#85 #507225
>>507204
Ты в логику не можешь?
if not NO_RECTANGLES or round(i.x0) == round(i.x1):
#86 #507232
>>507204
По-моему, повторение ок, можно даже так:
http://pastebin.com/ACsRsXFU
#87 #507241
>>507225
Так лучше, да. Почему-то с первого раза показалось неправильным.

>>507232-кун
#88 #507242
>>507194
Что это?
#89 #507245
>>507242
Менеджер пакеджей. Напиши pip в консоли.
#90 #507260
>>507245
Написал. Предлагало обновить пип и выдало какой-то невразумительный эксепшен.
Пытался обновить пип, тот себя скачал, удалил старого себя, выдал эксепшен и теперь pip "не является внутренней или внешней командой, исполняемой программой или пакетным файлом".
#91 #507268
>>507260
У тебя вендопроблемы, братишка. На нормальных осях все ок.
#92 #507270
>>507260
Не нужно было.

C:\Python34\Scripts
Добавь в Path этот путь снова.

>выдало какой-то невразумительный эксепшен


Это бесполезная информация.
#93 #507276
http://sourceforge.net/projects/numpy/files/NumPy/1.9.2/
А также нампай есть в виде традиционных инсталлеров. Но пип почини.
#94 #507277
>>507225
Это выглядит еще менее читаемо. Я специально же разнес условия.
#95 #507279
>>507277
У меня другое мнение насчёт читаемости этого условия.
#96 #507296
Есть тут аноны из НН? Самому язык учить трудновато, есть ли у нас в городе какие-нибудь кружки или курсы?
#97 #507311
>>507279
А если такое, например:
[CODE]if (gap and side='left' and i.x1 < gap) or (gap and side='right' and i.x1 > gap) or (not gap)[/CODE]
#98 #507312
>>507206
>>507210
спасибо
взял этот способ

>f.readlines() в лист прочитай и печатай по кругу из листа.

#99 #507315
>>507312
А потом файл на стопиццот джигабайтс и ты соснешь.
#100 #507316
>>507268

>C:\Python34\Scripts


Путь там есть, но самого pip там физически уже нету.
#101 #507317
#102 #507319
>>507296
Есть. Нету. Социоблядки не нужны.
#103 #507321
>>507319
Причём тут это, если я просто ленивый хуесос?
#104 #507325
>>507321
А в кружки тебе ходить не лень? Лишь бы под хвостом понюхать. Пидор.
#105 #507328
>>507315
нет, для себя же пишу. Знаю что в файле
#106 #507342
>>507328
Смотрите какую хуйню запостил. Надо типо этого? Есть варианты получше?
http://pastebin.com/kzF2kwq4
#107 #507346
>>507325
Не лень, если прогресс будет. Мне сложно заниматься самообучением.
#108 #507347
>>507346
А хуи сосать тебе не лень?
#109 #507366
>>507347
Ты ЗАЕБАЛ меня хуесос, я твою мать в сраку ЕБАЛ
#110 #507367
>>507347
Это хобби.
#111 #507370
Программа грузит картинки. У картинок есть ещё такие параметры как якорь, тип альфы, требуют ли они какой-то специальной обработки и прочее. Нужно сделать так чтобы картинки грузились не через питоновский код, а по факту своего наличия в соответствующей папке.
Я могу загрузить всё что есть в папке, но тогда теряются дополнительные параметры типа якоря, альфы и тд, которые забиваются ручками и ни как из самой картинки не вытекают. Какие есть варианты?
#112 #507376
>>507311
Тоже самое
if not gap or side=="left" and i.x1 < gap or side=="right" and i.x1 > gap
Но это уже длинновато.
>>507342
http://pastebin.com/3h9BsFTM
#113 #507377
>>507316
Пришло время переустанавливать ПУТХОН.

Только что проапгрейдил у себя на 8.1 - увы, проапгрейдилось успешно, ничем помочь больше не могу.
#114 #507403
>>507342
Итератор бессмысленен - ридлайнс читает всё в лист.
#115 #507423
>>507376
А что насчет изначального вопроса?
#116 #507428
>>507403
Так iter превращает в итератор.
#117 #507468
>>507118
https://ideone.com/SDeiDy

>>507376
[CODE]
from itertools import cycle
for l in cycle(open('file.txt')):
...
[/CODE]
#118 #507475
>>507428
Если ты не хотел загружать весь файл в память, то в момент чтения в лист именно это и происходит, что протиоворечит идее итераторов. Файл - сам по себе итератор, если хочешь работать с итератором, а не листом - не используй ридлайнс. Скомбинируй свой способ с тем куном, сделав что-то такое:
http://pastebin.com/EUEHWfZz

for делает этот трай-экцепт за тебя (то есть ловит СтопИтерейшн экспешн и выходит из лупа). Так что код того куна самый питоничный.
#119 #507624
>>507468
Да, заебись, забыл про cycle.
7 Кб, 513x387
#120 #507664

>Учишь с третьего года питон, очень любишь это дело.


>Есть несколько простеньких проектов для резюме.


>Берут на работу благодаря тестовому заданию на джанге и фронту.


>Дают задание писать на джс для мобилок. cordova phonegap ionic, вот это дерьмо все

1412 Кб, Webm
#121 #507688
Посоны. я нуб в питоне, ну и в программировании вообще. Пока круче пингалок ничего не написал. Сейчас пытаюсь прикрутить к этим пингалкам GUI. На выходе хочу получить виндовое окошко, мол, введите IP и кнопка - ПИНГ. Ну и результат чтоб выводился - ПИНГ ОК или не ОК.
Скачал Qt - итерфейс создал , а куда код вставлять - не пойму.
Поскажите направление.
#122 #507689
>>507688
В общем случае - вставлять в action на соответствующих виджетах, очевидно же.

https://wiki.qt.io/PySide_Tutorials
#123 #507691
>>507689
нихуя не получилось
пойду переводить нубский мануал
#124 #507708
>>507664
А че за фронт? Что у тебя за проект на джанге?
#125 #507731
>>507708
Ебет тебя? Нах свали, все равно не скажу.
#126 #507753
>>507731
Лол. Ну, значит, это КАРМА - расплачиваешься за то, что такое умалишенное ебанько.
#127 #507755
Халп посоны.
Нужно вытянуть последней строчкой программы аббревиатуру страны, две большие буквы. Питон ругается на предпоследнюю строчку typeError: list indices must be integers, not str

import urllib
import json

serviceurl = 'http://maps.googleapis.com/maps/api/geocode/json?'

while True:
address = raw_input('Enter location: ')
if len(address) < 1 : break

url = serviceurl + urllib.urlencode({'sensor':'false', 'address': address})
uh = urllib.urlopen(url)
data = uh.read()

try: js = json.loads(str(data))
except: js = None
if 'status' not in js or js['status'] != 'OK':
print '==== Failure To Retrieve ===='
print data
continue

print json.dumps(js, indent=4)

lat = js["results"][0]["geometry"]["location"]["lat"]
lng = js["results"][0]["geometry"]["location"]["lng"]
print 'lat',lat,'lng',lng

shortlock = js["results"][0]["address_components"]["short_name"]
print shortlock
#127 #507755
Халп посоны.
Нужно вытянуть последней строчкой программы аббревиатуру страны, две большие буквы. Питон ругается на предпоследнюю строчку typeError: list indices must be integers, not str

import urllib
import json

serviceurl = 'http://maps.googleapis.com/maps/api/geocode/json?'

while True:
address = raw_input('Enter location: ')
if len(address) < 1 : break

url = serviceurl + urllib.urlencode({'sensor':'false', 'address': address})
uh = urllib.urlopen(url)
data = uh.read()

try: js = json.loads(str(data))
except: js = None
if 'status' not in js or js['status'] != 'OK':
print '==== Failure To Retrieve ===='
print data
continue

print json.dumps(js, indent=4)

lat = js["results"][0]["geometry"]["location"]["lat"]
lng = js["results"][0]["geometry"]["location"]["lng"]
print 'lat',lat,'lng',lng

shortlock = js["results"][0]["address_components"]["short_name"]
print shortlock
#128 #507756
>>507755
Пастебин, блжад.
#130 #507768
>>507759
Enter location:
А что сюда вводить?
#131 #507769
>>507759
js["results"][0]["address_components"]

Это лист диктов. Шортнейм в этих диктах есть, так что тебе просто остается взять нужный дикт. Например:

js["results"][0]["address_components"][0]["short_name"]
#132 #507771
>>507768
Мухосранскнейм.
#133 #507773
>>507755
заверни индекс списка в int(). В ошибке же все написано
#134 #507774
>>507768
Чот хотел шуткануть, но ничего смешного не придумал.

(
#135 #507779
Привет, питоны. Есть одна программа, которая достаточно затратная по ресурсам - как процессорным, так и интернетам. Какие есть бесплатные или недорогие варианты, где её можно запустить? В том смысле, что мне нужен хост какой-нибудь
#136 #507781
>>507779
Любой low-end vps
http://serverbear.com/
#137 #507782
>>507769
Спасибо, почти так. Но разные города выдают разное количество диктов в ["address_components"], соответственно в первом может быть само название города а не страна. Аббревиатура всегда в последнем.
#138 #507784
>>507781
А есть варианты с каким-то триальным периодом, чтобы хоть протестить подходит мне или нет?
#139 #507789
>>507784
AWS Free Tier - бесплатно на год.
Подлянка в том, что им надо указывать кредитку, на которой лежит энная сумма. И с тебя могут снять за превышение ограничений.
#140 #507791
>>507784
И чего там тестить то? ВПС он ВПС и есть.
#141 #507792
>>507791
на самом деле я хотел триалом попользоваться и забить, мне всего на день-два нужно.
#142 #507802
https://interserver.net/dock/vps-cj.html
Нашёл вот это. В чём подвох? Один пенни и всё? Так не бывает же.
#143 #507818
>>507782
Вопрос в том как всегда брать значение из последнего дикта.
#144 #507821
>>507818
Отрицательные индексы используй, зелень. [-1] вернёт последний элемент.
#145 #507826
>>507802

>first month


Вот он, подвох. Классическая промо-акция же.
#146 #507838
Только начал работать с файлами.
1) Зачем нужен with? если и без него файл нормально открывается и закрывается?
2) Почему после прочтения файла тот становится пустым?
#147 #507843
>>507838
1)чтобы файл автоматически закрывался после чтения
2)покажи код
#148 #507851
>>507821
Как ты получишь значения со словаря через индекс, если там доступ по ключу, зелень
#149 #507853
>>507838
1. Открытый файл нужно обязательно закрыть. С with его закроет автоматически. with - это кейворд, который можно использовать, предварительно реализовав соответствующие методы в своем классе. Означает "всё что ниже насерет - вычистить по окончании вилкой из памяти".

2. Не файла, а после окончания любого итератора. Файл - это итератор, итераторы не хранят в памяти всё содержимое итерабла, но проитерироваться по ним можно лишь один раз, если не дописывать какой-то специальный функционал. В случае с файлом этот функционал дописан, ты можешь использовать метод seek(), который может установить позицию чтения в произвольное место, например в ноль, после чего ты сможешь прочитать файл снова с самого начала.
#150 #507854
>>507851
А речь о листе:

>брать значение из последнего дикта



В данном случае - нужно взять последний итем из листа. Итемы в этом листе - отдельные дикты.
#151 #507855
Хочу написать числодробилку. Как быть с GIL?
#152 #507857
>>507855
multiprocessing
#153 #507858
>>507843
>>507853
Спасибо. Начинает доходить.
#154 #507860
>>507857
Ок. А какие еще варианты есть? Как это всякие numpy/scipy которые я не юзал делают?
#155 #507861
>>507858
Как раз примеры в треде: >>507475>>507206
#156 #507879
>>507855
GIL можно снимать, что они и делают.
https://docs.python.org/2/c-api/init.html
#157 #507887
>>507879
Воу-воу, сколько я интересного из этой ссылки узнал.
179 Кб, 316x310
#158 #507967
Есть побитовый сдвиг X<<1.
Есть XOR X ^ Y.
Есть инверсия ~X.

Думал запилить подсчёт CRC4, но ничего не выходит.
#159 #507992
А можете пояснить где почитать про многопоточность/многопроцессность в питоне? Чтобы я сам мог например написать многопоточный граббер сайтов. Знаю про scrapy, но мне интересно именно понять самому как это делается.
179 Кб, 245x245
#161 #508003
>>507995
Благодарю.
#162 #508008
>>507992
Для I/O операций процессы не нужны, потоки нормально работают.
Самый простой пример:

from multiprocessing.dummy import Pool
pool = Pool(100)
result = pool.map(download_func, list_of_urls)

Всё, обрабатывается параллельно.
#163 #508076
>>508008
В общем случае для I/O даже потоки не нужны.
#164 #508082
Сап анон. выручай,помоги разобраться с имплиментацией этого кода в ООП, можно и проще одним обьектом ведь будет ?

import requests
from bs4 import BeautifulSoup
import operator

def start (url):
word_list = []
source_code = requests.get(url).text
soup = BeautifulSoup(source_code)
for post_text in soup.findAll('a',{'class':'index_singleListingTitles'}):
content = post_text.string
words = content.lower().split()
for each_word in words:

print (each_word)
clean_up_list(word_list)

def clean_up_list(word_list):
clean_word_list = []
for word in word_list:
symbols = "!@#$%^&*\"()_?.,><;'+|}{][]-=;'"
for i in range (0,len(symbols)):
word = word.replace(symbols,"")
if len(word) > 0:
print(word)
clean_word_list.append(word)

create_dictionary(clean_word_list)

def create_dictionary(clean_word_list):
word_count = {}
for word in clean_word_list:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1

for key, value in sorted(word_count.items(), key=operator.itemgetter(1)):

print (key,value)

start('https://buckysroom.org/tops.php?type=text&period=this-month')
#164 #508082
Сап анон. выручай,помоги разобраться с имплиментацией этого кода в ООП, можно и проще одним обьектом ведь будет ?

import requests
from bs4 import BeautifulSoup
import operator

def start (url):
word_list = []
source_code = requests.get(url).text
soup = BeautifulSoup(source_code)
for post_text in soup.findAll('a',{'class':'index_singleListingTitles'}):
content = post_text.string
words = content.lower().split()
for each_word in words:

print (each_word)
clean_up_list(word_list)

def clean_up_list(word_list):
clean_word_list = []
for word in word_list:
symbols = "!@#$%^&*\"()_?.,><;'+|}{][]-=;'"
for i in range (0,len(symbols)):
word = word.replace(symbols,"")
if len(word) > 0:
print(word)
clean_word_list.append(word)

create_dictionary(clean_word_list)

def create_dictionary(clean_word_list):
word_count = {}
for word in clean_word_list:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1

for key, value in sorted(word_count.items(), key=operator.itemgetter(1)):

print (key,value)

start('https://buckysroom.org/tops.php?type=text&period=this-month')
#165 #508084
>>508082
купи pastebin или inode
#166 #508085
>>508084
сорри что так.
#167 #508094
>>508085
Не сорри, а если хочешь, чтобы эту хуйню прочитали - запости на пастебин/идеон/куда хочешь.
#168 #508096
>>508076
А что еще, корутины?
#170 #508118
>>508097
а он вообще работает?

есть более элегантный способ удалить всю сперму из слова. ищи сам.

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

у тебя ебанутые названия фунций, они не отображают сути происходящего.
#171 #508122
>>508118
ссылка пизданулась походу. код работает.анон - искал и спрашивал и на тостере и на старковефлоу. и гуглил. слабо с поисками. меня интересует как эту хуйню сделать в ооп.
#172 #508124
>>508122
у меня не работает. твой сайт лежит.

что ты там хочешь в ооп перевести? у тебя в голове есть какая-то концепция объектов или мне за тебя придумывать?
#173 #508129
>>508124
вот по идее должно работать.
думал одним обьектом можно сдалеть? не
#175 #508132
>>508124
У меня работает. Зайди через проксю/анонимайзер.
#176 #508135
>>508130
Удваиваю, что за объект ты хочешь, почему просто не взять и не объявить класс, убрав все эти функции под него, добавив сельфы?
#177 #508136
>>508135
можно по подробнее на счет этого, я не особо силен в ооп. QA как ни как..
#178 #508137
>>508130
ты уже обосрался в функции start, всей последующей цепочке твоих функций ты передаёшь пустой список (и они ничего не делают).
так что пополняй там свой word_list словами.
#179 #508138
>>508136
А, так ты зелень. Ну всё просто - нужно сначала пройти базовый туториал по классам, после чего у тебя всё получится, лол. Я быстро заменил, не читая твой код, так что не уповай на то, что это рабочий образец. Но выглядеть оно может как-то так: http://pastebin.com/Hdwu0RLE

И сразу тебе две подзадачи, если интересно:

>clean_up_list()


Перепиши, используя модуль re.
https://docs.python.org/3.4/library/re.html#re.sub

>create_dictionary()


Перепиши, используя collections.Counter:
https://docs.python.org/3.4/library/collections.html#collections.Counter.most_common
#180 #508142
>>508138
спасибо!!!!!
сейчас займусь подзадачами!
и скажите свое мнение на счет туториала!
http://pastebin.com/t1wpbCKh
#181 #508148
>>508142
Ну, почитал часть - почему нет. Как-то слишком хардкорно он там взял, к пункту 9 уже Кнут, например. Ты на эту пасту забьёшь всё равно, так как эта паста на 4-5 лет учения, а через год тебе она сама по себе станет ни к чему - какой дурак станет планировать 5 лет своей жизни по пасте с харкача (если это не завтра_ищешь_книжку.txt).
#182 #508171
>>508148
но все более менее уложено. жаль с криптографии ничего нет. и мотивация есть - почему бы и не попробовать. - знаете какие то книги лучше чем в пасте - скидывайте.
(сорри за офф топ)
958 Кб, 500x500
#183 #508174
>>508171

> мотивация


> книги


> скидывайте



придумай себе полезный проект,
реализуй его. забудь про книги,
от них нет толку.
#184 #508177
>>508174
интересная мысль.
подумаю об этом
#185 #508191
Анон, только не стукай.

>>> a={'a':'b','c':'d'}


>>> b=HttpResponse('test')


>>> a.update(csrf(b))


>>> a


{'a': 'b', 'c': 'd', u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f459b408750>}

вот этого u'csrf_to......' быть не должно. Как сделать
{'a': 'b', 'c': 'd', 'csrf_token': <django.utils.functional.__proxy__ object at 0x7f459b408750>}
?
Хотя бы книгу и раздел дайте, я кодировку специально напотом оставил, как знатный геморрой.
#186 #508192
>>508177
Больше думай, думай думай
Ленивый пидорас
#187 #508200
>>508191
третий питон использовать?
20 Кб, 610x331
#188 #508202
Петян, какими библиотеками обмазываться, если я хочу пилить поиск тишины в аудиофайлах (ogg, mp3, flac) на питоне?
3455 Кб, Webm
#189 #508218
>>508200
Не совсем понимаю твой вопрос. Ты предлагаешь мне использовать третий питон, как средство решения ебли с кодировкой?
В любом случае, я уже добился отсутствия u' и это в решении моей проблемы не помогло.
Я уже истрахался весь с этим говном. Помогите хоть кто-нибудь.

Суть в вебм. Грызу джангу, подошел к формам, учебник по версии 1.4, автор заверял в самом начале про АБРАТНУЮ САВМИСТИМАСТЬ В ПРИДЕЛАХ ВЕРСИИ 1.#.# сука. Соответственно ВНЕЗАПНО при отправке пост-запроса появился какой-то CSRF-ключ, который обязательно надо передавать. Если его вообще отключить - все разваливается. СОВМЕСТИМОСТЬ, мать её.

Я, конечно, понимаю, что самостоятельный траблшутинг развивает понимание предмета, но ебал я в рот так по 20 страниц ползти в день. Что интересно, на пиратбее я актуальных гайдов по джанге не нашел. Это говно реально полная хуйня, все все.
#190 #508228
>>508218

>Ты предлагаешь мне использовать третий питон, как средство решения ебли с кодировкой?


Да.

другойанон
#191 #508233
>>508218

> Соответственно ВНЕЗАПНО при отправке пост-запроса появился какой-то CSRF-ключ, который обязательно надо передавать


Это защита от CSRF уязвимости. Могу предложить урок про нее: https://github.com/codedokode/pasta/blob/master/security/xsrf.md

Своим постом ты лишь десмонстрируешь невежество и нежелание разбираться и читать документацию.
36 Кб, 1561x333
#192 #508234
Что я делаю не так?
#193 #508237
>>508234
используешь виндовс и второй питон, конечно.
#194 #508243
>>508233
Я читал и гуглил и разбирался.
Вот в доках на мою версию написано
https://docs.djangoproject.com/en/1.7/ref/contrib/csrf/
дескать, сначала в settings добавляем

>django.middleware.csrf.CsrfViewMiddleware (да он и так по-дефолту был добавлен)


потом в форму шаблона добаввляем этот вот

>{% csrf_token %}


потом в views импортируем

>from django.core.context_processors import csrf


и оборачиваем в него контекст

>return render_to_response("a_template.html", {'some_value_1':'some_value_1','some_value_2':'some_value_2'}.update(csrf(request)))


Только что-то не взлетает. Я измучился.
#195 #508249
>>508243

Ну так изучи код страницы и посмотри инспектором в браузере что передается по сети в запросе/ответе и посмотри в чем причина и чего не хватает. А не копируй строчки в надежде что заработает.
#196 #508264
>>508237
Похоже что нет. Тк решил проблему без пересадки на прыщи и смены версии питона.
#197 #508265
>>508264
молодец, возьми пирожок с полки.
#198 #508291
>>508202
libavcodec. Числодробилку расширением на си сделай. Остальные гуи можешь и на питоне.
#199 #508333
Господа, сталкиваюсь с ошибкой list index out of range и нуждаюсь в вашей помощи в редактировании списка. Как мне гибко его изменять, например выкинуть сразу несколько элементов и продолжить работу?
https://github.com/daineal/my-learning/blob/master/game%20of%20random%20numbers
#200 #508335
Порекомендуйте gui не слишком навороченную.
#201 #508341
>>508335
pyside/pygobject/tkinter
#202 #508343
>>508335
gtk. Только гуи, ничего лишнего.
#203 #508346
>>508333
Ты хоть бы подсветку кода запилил. Расширение файлу сделал бы.

count1, count2 - хуёвые имена переменных. min_value, max_value - лучше.

На кой чёрт тебе делать pop из списка? На кой тебе вообще держать такой список? Циклы какие-то с невнятным перебором. Можно же было просто назначить новые min/max_value и спрашивать в новом диапазоне.
#204 #508376
>>508335
tkinter? PySide? Kivy?

>>508333
Школьник? Вкатываешься в программирование с Питона? Правильный выбор. Советую "An Introduction to Interactive Programming in Python" - обе части. Пепвосьмеца периодически перечитывай:
https://www.python.org/dev/peps/pep-0008/
http://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html

Файлы имеют расширение ".py". Хотя бы для подсветки синтаксиса.

У тебя поразительный говнокод, мне понадобилось тридцать минут, чтобы понять его. На самом деле понимать его необязательно и можно просто стереть и сказать ЗДЕЛОЙ ТАК, но мне хотелось понять, почему именно возникает ошибка. Возникает она из-за того, что ты итерируешься по большему листу, чем задаётся игроком. То есть если интервал 1..3 (три элемента в листе - 1, 2, 3), то оно делает цикл for по 0..3 (0, 1, 2, 3) и пытается сравнить несуществующий четвёртый элемент из старого интервала с числом. Даже если исправить, всё равно код поломан и возникнут другие ошибки - там ещё изменение листа в процессе итерации по нему происходит и переменных куча лишних. Так что ЗДЕЛОЙ ТАК: http://pastebin.com/L8X7DyaY
В смысле как зделой. Просто прочитай и разберись, как работает. Раскомментируй необязательные стейтменты в начале лупа, если хочешь.
#205 #508387
Палю годноту
http://djbook.ru/
#206 #508390
>>508387

>на русском


>годноту

#207 #508408
>>508390
Культ карго as is.
#208 #508409
>>507967
Запилил подсчёт CRC, ну короч теперь хуй знает как проверить.
http://pastebin.com/sy6Ud2qg
#209 #508413
>>508408
Скорее, индукция.
#211 #508419
>>508346
>>508376
Спасибо за рекомендации, советы и замечания, обязательно их учту. Да, код ослоебский, но я все же стараюсь, что-то строить хоть и из грязи. Сам не знаю зачем я полез в этот список, даже стало немного стыдно за такую глупость. Формально я уже абитуриент, а питон мой первый язык. Еще раз спасибо!
#212 #508424
>>508341
>>508376

> PySide


Скачал qt, установил get-pip.py
скачал PySide-1.2.2.win-amd64-py3.4.exe и она ругается, что не может найти у меня питона. Хотя питон 3.4
К тому же в установочнике написано "access the complete Qt 4.8 framework" Значит, ли это, что мне нужно скачать 4.8 дополнительно с 5.4?
#213 #508426
>>508424

>.exe


>не может найти у меня питона


Кто бы мог подумать. И не лень пердолиться?
#214 #508441
>>508424
Что за инсталлер, откуда? Гет-пип сам пип устанавливает, а он уже давно в дистрибутиве питона есть. У меня 32-битный питон и 64-битная система. Файл назывался так: PySide-1.2.2-cp34-none-win32.whl

http://pastebin.com/uup2NZZT
#216 #508509
>>508441
https://download.qt.io/official_releases/pyside/?C=M;O=D

Я тоже нашел .whl но я не знаю как установить и куда прописать команду

> pip install -U PySide

sage #217 #508510
>>508509

> эти вендопроблемы

NewFag№8 #218 #508535
Приветствую. Я к вам опять с задачкой для школьников. Выручайте.
Звучит она так:"Дана последовательность целых чисел, заканчивающаяся числом 0. Выведите эту последовательность в обратном порядке.
При решении этой задачи нельзя пользоваться массивами и прочими динамическими структурами данных. Рекурсия вам поможет."

Вот что сделал я:
def raz():
n = int(input())
if n == 0:
print(0)
else:
print(n)
raz()
print(raz())

Всё вроде работает, НО. Но последним значением возвращает "None". Как быть, господа?
#219 #508536
>>508535
def raz():
n = int(input())
if n == 0:
print(0)
else:
raz()
print(n)
print(raz())

Фикс
#220 #508542
>>508510
Хорошо.
NewFag№8 #222 #508553
>>508549
Скомпилировал, но, во-первых, у Вас пропадает ноль из последовательности, во-вторых, по прежнему последнее выходное значение - "None". Но вы помогли мне найти ошибку. Неясно зачем, но я принтовал функцию, когда её нужно было просто выполнить. Спасибо за отзывчивость.
sage #223 #508556
>>508553

>Скомпилировал


Чего?
#224 #508560
>>508509
В консоль.
#225 #508567
>>508553
Где ты не увидел ноль и увидел нон? Вывод есть прямо на идеон.
#226 #508629
>>508556
Он пизду твоей мамаши-шлюхи скомпилировал, тупой.
#227 #508635
>>508629
ява-блядь в треде? держите её!
8 Кб, 351x270
#228 #508656
>>508409
Чё никому не интересно?
#229 #508660
>>508656

>CRC = 01110



устанавливай убунту, парниш.
8 Кб, 492x309
#230 #508664
>>508660
На кой она мине?
#231 #508683
>>508664
в убунте будет работать.

я вот твой код сразу в интерпретер хуйнул и оно работает.
#232 #508684
>>508664
Питон до третьего обнови, ёба.
sage #233 #508687
>>508664
Чем дальше ты уходишь от хелловорлдов, тем больше придется пердолиться с вендой. Сириусли. Это справедливо для всех языков кроме микрософтовских. Посмотри как рубисты на венде страдают, и прямым языком говорят - сноси ее, ставь макось, линукс, что угодно. Или пхпшники. У этих вообще огромный гайд по тому, что делается в две команды. Ты вон аж мсдос притащил, и протухший питон, 2.2, епта, 2002 год! Феерическая наркомания.
#234 #508688
>>508424
Возможно, у тебя питон 32х битный?
sage #235 #508689
>>508688
И еще одна вендопроблема. Вы там вообще программируете хоть иногда?
#236 #508696
>>508687

>пердолиться с вендой


Лолшто? Пердолятся как раз с пинусом. Не вижу никакой принципиальной разницы если пишешь простенькие скрипты, и тебе не нужны всякие йоба-нжинксы и линуксовские утилиты. Хуй его знает что там у рубистов, но всякие пхп и пистоны там вроде нормально живут.
#237 #508704
>>508696

>простенькие скрипты


Вся суть динамикодрысни. Ничего сложней fizzbuzz не написали, а потом ноют по всему зк что работу найти не могут.
#238 #508708
>>508704
Ты чо ебанутый? Я вообще мимокрокодил, и всего вашего диалога не читал, высказался только по поводу того поста, на который собственно ответил. Суть вот в чем - проблема не в осях, а в кривых руках ее использующих. Для меня нет такой задачи, которая бы принципиально упиралась в выбор оси, и если надо будет, то и на винде буду спокойно писать.

мимокрокодил, мимоосхбоярин
#239 #508709
>>508696

>Пердолятся как раз с пинусом.



>анон, как запустить хуйнянейм под винду, анон, как сделать установить пакетнейм ноды/питона/руби под винду, анон, я делаю pip install python и питон сам себя найти не может


Чот все треды этим говном забиты. За этот тред уже второй или третий пассажир такой.
#240 #508711
>>508708
Да нет, зачастую помимо рук проблема еще и в осях. Потому что gem/pip/npm и third-party библиотеки под виндой работают как говно. Даже в документации частенько бывает открытым текстом, что фича works only on osx, bsd and linux.
#241 #508733
>>508426
Я тебя в сраку попердолю
#242 #508773
>>508709
Тут ещё такой эффект, что линуксы используют более самостоятельные пользователи. И задавать вопросы о том, как поставить пакет через пип они не станут задавать в етом итт тхреаде.
#243 #508798
>>508773

>линуксы используют более самостоятельные пользователи


Обсикался с тебя. Самостоятельно яишенку от плиты доносят без участия мамки?
#244 #508856
>>508798
Обсикался то хоть сам?
1156 Кб, 4000x2667
#245 #508868
>>508660
Посоветуй убунту
#246 #508870
>>508460
Бесполезные высеры эти диск-жокеи
#247 #508884
>>508249
Ну не стукай, пожалуйста
Постояно так делаю как ты написал. Считаю тех кто взялся изучать джанго, надо резко перебать в щи и посадить за изучение протокола http/https.Посмотрел лекциюю по http и для меня прояснились некоторые моменты из книги. До этого тыкал наугад, это было сродни блядь методички по алхимии, что то происходит, но что имено - понимашь слабо. За что и не люблю веб, клубок технологий который практически невозможно изучить быстро.Но это едиственная область в которую еще могут всунуться новички.
Мимо-другой анон
#248 #508885
>>508387
Хороший сайт. И форум у них не плохой, мне даже отвечали на вопросы, пока не поняли что я долбоеб
#249 #508893
Анон, помоги?

пытаюсь сделать работать вот это: https://github.com/jcjohnson/cnn-vis

каффе собрал, тесты прогнал, модуль куда надо запихнул, пытаюсь запустить скрипт и:

(.env)➜ cnn-vis git:(master) ✗ python cnn_vis.py
Traceback (most recent call last):
File "cnn_vis.py", line 9, in <module>
import caffe
File "/Users/[user]/anaconda/caffe/__init__.py", line 1, in <module>
from .pycaffe import Net, SGDSolver
File "/Users/[user]/anaconda/caffe/pycaffe.py", line 13, in <module>
from ._caffe import Net, SGDSolver
ImportError: dlopen(/Users/[user]/anaconda/caffe/_caffe.so, 2): Library not loaded: @rpath/libcaffe.so
Referenced from: /Users/[user]/anaconda/caffe/_caffe.so
Reason: image not found

никак не могу понять, чего ему не надо.
#250 #508932
>>508893

>ImportError


>Referenced from: /Users/[user]/anaconda/caffe/_caffe.so


>_caffe.so


>Reason: image not found


>_caffe.so


>not found



Щито нипанятна?
#251 #508968
>>508893
Install Caffe; follow the official installation instructions. (как минимум ты забыл make pycaffe)
#252 #508970
Изучаю по-немного джангу и вот так вышло что мне понадобился вот этот пакет django-endless-pagination. Как отразить что проект зависит от этого пакета? В пыхе в каких-нить Yii2 просто добавил бы в composer.json строчку и забыл. Потом просто скопировал проект и запустил composer update и все зависимости установлены. Как разруливают вопрос на джанге?
#253 #508971
Вообще, юзай лучше это https://github.com/google/deepdream/blob/master/dream.ipynb , там код попроще.
#254 #508977
>>508970
Используй virtualenv и ставь в него все с самого начала - питон, пакеты питона, джангу, пакеты джанги
1124 Кб, 1200x1689
#255 #508982
Ребята, есть смысл упарывать эту книгу, или она уже старая?
#256 #508987
>>508982
Есть же официальная документация, там по последней версии (хотя я бы рекомендовал на пистоне 2.7 пока посидеть если что-то серьезное и быстро_развивающееся).
#257 #508990
>>508987
Сижу на Пистоне 3.4. Волнует актуальность этой книги на сегодний день

>2015


>использовать старый пистон

#258 #508993
>>508990

>Python 2.7.9


>Release Date: 2014-12-10

#259 #508995
>>508990
Ну это книга 2008 года, джанга с тех пор изменилась существенно. Хотя если ты пойдешь поддерживать систему 5-летней давности, написанную на старой версии, то книга прокатит. В общем ищи новей книгу.
#260 #508998
>>508993

>Python 2.7.10


>Release date: 2015-05-23

#261 #508999
>>508993

>Python 2.7.10


>23 May 2015


И что? Вторая ветка морально устарела.

>Perl 5.23.0


>June 20, 2015


Как и этот товарищ.
#262 #509000
>>508987

>я бы рекомендовал на пистоне 2.7


Говна поешь. Мамонта.
#263 #509002
>>508999

>Вторая ветка морально устарела.


Кто тебе это сказал, Гвидо? Вторая ветка еще третью переживет. Вот смотри на код https://github.com/google/deepdream/blob/master/dream.ipynb
Видишь, какой там питон? А это гугл, это 2015 год.
#264 #509004
>>509002

>The End Of Life date (EOL, sunset date) for Python 2.7 has been moved five years into the future, to 2020


Всего пять лет осталось. Даже 4.5. Это вообще ничто, посрать сходил - вышел - пять лет прошло.

>Вторая ветка еще третью переживет


Если только гугл станет тащить вторую ветку сам, после окончания официальной поддержки. Только вот нахуй им теперь питон не упал, у них теперь Го. И Гвидо в гугле давно не работает, и ради них не почешется.
sage #265 #509005
>>508987

> 2.7


Сломать бы тебе ебало.
#266 #509006
>>509004
В 2010 говорили то же самое.
#267 #509007
>>509006
Ретроград ебаный.
#268 #509008
>>509007
Мне похуй, я делаю git clone и потом разбираюсь, что это я вообще такое скачал. И 99% года сделано во второй ветке. И этот код никуда не денется.
#269 #509010
>>508932
почему нот фаунд и нипанятна.

>>508968

>как минимум ты забыл make pycaffe


Nope!
Без пайкаффе он говорит что-то вроде "module Caffe missing"

когда добавляешь этот модуль - выдет такое вот.
#270 #509012
>>509010
find . -name libcaffe.so находит что-то? Пропиши путь в LD_LOAD_PATH или сделай sudo ldconfig, хуй знает в общем.
#271 #509015
>>509008

>99%


Из 2006 пишешь? Я с кодом под 2.7 давно не работаю. Последний раз было год назад, охуел с доисторической версии, сделал этому говну 2to3, поправил юникод и воткнул в свой проект. Буду я еще даунгрейдиться, ага.
#272 #509019
>>509015
Буквально в соседнем посте чел с pycaffe пользуется именно вторым.
#273 #509021
>>509019
Ну все, побежал переводить все обратно на 2.7
#274 #509023
>>509021
"Мне похуй, я делаю git clone и потом разбираюсь"
Гвидо в принципе мудак тот еще (по сравнению с Матцем), но сломать обратную совместимость было феерией мудачества. Отсюда и страдания.
#275 #509025
>>509012
>>509012

>find . -name libcaffe.so находит что-то?


./anaconda/distribute/lib/libcaffe.so

>LD_LOAD_PATH


Хуй.

>сделай sudo ldconfig


мак жэ.
#276 #509026
>>509023
Страдания только у таких тормозов как ты. Нормальные люди идут в светлое будущее.
#277 #509029
>>509026
Мудила, блядь, вот мы с челом обсуждаем чей-то код с гитхаба, НЕ Я ЕГО НАПИСАЛ, ебанько блядь.
#278 #509030
>>509025
Ну не знаю я как там на ваших маках этот лабрари пэф прописывается, сделай симлинк в /lib или куда там, где система стопудово будет искать. Вообще, попробуй скачать caffe с гитхаба и собрать по-человечески. У меня вообще проблем не было с запуском питона из папки caffe/python, даже пути не фиксил.
#279 #509031
>>509029

>Ну все, побежал переводить все обратно на 2.7


Я бы на месте Гвидо закончил со вторым питоном еще лет пять назад. И ебитесь как хотите. А то развел сюсюканье со всякими даунами, и тянется это говно, и тянется.
62 Кб, 1600x858
#280 #509032
>>509031
Картинку смищную по теме нашел.
#281 #509033
>>509031
Еще раз мне похуй, куда ты что будешь переводить. Мне не похуй, куда будут переходить 90% проектов на гитхабе. Если мне нужен модуль, я буду использовать ту версию, с которой у меня будет минимум телодвижений. Какую-то лингвистику я делал в третьем, потому что меня заебали проблемы с юникодом во второй Но мне тогда повезло - pymorphy есть для обоих версий.
А если бы Гвидо знакончил со вторым питоном, то быстро бы закончился или Гвидо, или питон.
#282 #509035
>>509030
Так он с гитхаба скачан и собран, и все тесты проходят.
но библиотеку в упор не видит.
#283 #509038
>>509033
Ну вот поясни. Мой проект под 3, а либа под 2. Что теперь, предлагаешь за четыре года до смерти 2.7 переводить все обратно, потому что какой-то ленивый пидор не осилил спортировать? Или писать НОВЫЙ проект в 2015 году на старом питоне? Может еще перл предложишь? Или делфи?

>А если бы Гвидо знакончил со вторым питоном, то быстро бы закончился или Гвидо, или питон.


Манямирок. Раз уж у Гвидо нашлись яйца сломать совместимость и никто не умер, то мог бы найти еще раз и прибить второго. Полумеры какие-то.
#284 #509039
>>509035
Ну сделай симлинк туда где увидит. Заработает, будешь искать, куда его прописать. Вообще это не совсем релейтед к питону. Кстати, почему .so а не .dylib?
#285 #509041
>>509033

>Мне не похуй, куда будут переходить 90% проектов на гитхабе


А куда они могут перейти? Со временем они перейдут либо на 3, либо нахуй. Естественный процесс отмирания ненужного, копротивляться бесполезно.
#286 #509043
>>509041
Никуда они не будут переходить, потому что нахуй никому не нужно в это вкладывать время и силы.
В 2009 году я купил книжку именно по третьему питону, это был первый диалект, который я выучил. На дворе 2015, а разговоры о том, что двойка умрет не прекратились. Тебе, скорее всего, в 2009 было лет 15.
#287 #509050
>>509043

>Никуда они не будут переходить


Ты еще забастовку против второго питона устрой, наркоман. И Гвидо поясни за какой версией будущее. Джанга перешла, киви переходит, https://python3wos.appspot.com/ - становится зеленей и зеленей. На втором остается только забытое говно.
#288 #509053
>>509050
Гвидо - мудак, оказавшийся со своим пыхом в нужное время в нужном месте. Так-то язык откровенно хуевый. Поэтому его мнение меня вообще не интересует.
Что касается библиотек, они пытаются захватить долю рынка. На самом деле я тебе расскажу, как будет. К версии 3.X вернут обратную совместимость. И все.
#289 #509054
>>509053
Охуительные истории.
39 Кб, 333x303
#290 #509073
#291 #509083
>>509041

>А куда они могут перейти? Со временем они перейдут либо на 3, либо нахуй.


Red Hat видел когда-нибудь? Debian? CentOS? Будут вручную патчи на 2.5 бэкпортить и никуда не перейдут.
#292 #509086
>>508995
Спасибо
38 Кб, 1082x610
#293 #509093
>>509083
Сам то видел, маня?

Пишу тебе с дебиана. И вот смотри-ка, официальный анонс по переходу дебиана на py3 - https://lists.debian.org/debian-devel-announce/2015/04/msg00005.html
И не просто заменят дефолтную версию как арч когда-то, а портируют все проблемные места.

>When you see Python 2 - treat it as legacy! Please encourage porting!



Цетось и RHEL основываются на федоре. Федора, внезапно, тоже переходит на 3 уже в этом году - https://fedoraproject.org/wiki/Changes/Python_3_as_Default

Ты настолько отстал от жизни, что просто охуеть.
#294 #509110
что делает и как называется оператор в function(args)?
#295 #509137
>>508243
Есть декоратор, который отключает csrf защиту. Воспользуйся им, дабы проверить в нём ли проблема.
#296 #509154
>>509083

>2.5


У тебя фантазия разыгралась, петух.
#297 #509162
>>509093
Поссы себе на ебало, умник
#298 #509163
>>509162
Обосрался - обтекай, долбоеб безпруфный. 2.5 у него.
#299 #509164
>>509163
Твой дебиан - такое ущербное говно, судя по скрину. Мозги тебе не ебет такой шрифт?
#300 #509165
>>509164

> эта жалкая попытка съехать с темы

#301 #509166
>>509164
у тебя много спермы в глазах, ничего не видишь кроме спермы
#302 #509172
>>509164

>шрифт


Тёма закукарекал.
#303 #509202
>>509172
Мир дал ему freetype, нет, не хочу векторность и сглаживание, хочу жрать говно и пиксельные шрифты эпохи 70х.
#304 #509238
Где я обосрался, братишки? Не могу в установку numpy
https://ideone.com/6rD2nD
#305 #509239
>>509238

>windows


this
432 Кб, 645x773
#306 #509241
Сап, пихонач. Помоги советом с Жангой.
Решил я однажды сделать себе объекты, доступные глобально во всех шаблонах. И охуел.
Сделал всё, как сказано на оф. сайте, нихуя не работает. Гуглил всё что можно, ничто не помогает (примеры устаревшие).
Предполагаю, что проблема в том, что в 1.8 распидорасили структуру шаблонов, и например выпилили context_instance из render_to_response. Но в 1.8.2 пофиксили бы уже давно такие вещи, либо в доках отразилось бы, так что хз.
Вот мой эталонный (но почему-то не работающий) код:
http://pastebin.com/Hpzrz64B
Когда страница грузится, тэги вида {{ lalki }} просто игнорятся как нулевые. Блджад, лютый БАГОР из-за этой хуйни.
Жанга 1.8.2, пихон 2.7.6 (да-да, двойку приходится юзать из-за не переписанных либ, которые оч нужны)
#307 #509263
>>509238
Качай набор Anac0nda
#308 #509338
>>509263
Или pythonXY. Но он только для винды.
#309 #509342
О. А какие питонисткие конференции есть в ДС2 сейчас? Я пока тут - схожу.
#310 #509357
>>509241
Судя по реакции, никто не знает, в чем проблема.
Пойду-ка нахуй спрошу вопрос на SO.
Если что, вот ссылка на репку:
https://github.com/yerohin/context_processors_test
Кидайте пулл реквесты, если сможете решить проблему.
#311 #509360
Как научиться правильно все тестировать? Как заставить себя тестировать? Как понять что без тестов плохо жить?
sage #312 #509381
>>509241
>>509357
Если что, уже не актуально. Проблема решена.
inb4: неосилятор
#313 #509384
>>509360
Вот когда ты сам захочешь тест написать. Тогда. Лично моё мнение что тесты это вещь не для всего на свете. Именно с точки зрения эффективности и профитов, технически конечно можно для всего тест написать. Тесты хороши для отдельных функций, желательно не имеющих сторонних эффектов, которые делают нечто сравнительно сложное. Ещё неплохо писать тесты под закрываемые баги, других способов сразу увидеть регрессию нет.
#314 #509391
>>509384
Хорошо, спасибо.

Посоны, какой лучше инструментал для создания REST-приложения? Выбираю между django-rest-framework и tastypie. Может еще есть что получше?
#315 #509395
>>509342
Никаких. Социоблядки не нужны.

Чем тебе зк не конференция, а?
#316 #509428
>>509360
тесты не нужны.
#317 #509439
>>509395
Тут все ленивые, без реального опыта, матерятся, говорят что второй питон нужен.
#318 #509441
>>509360

>Как научиться правильно все тестировать?


Нужно тестировать только бизнес-логику. Сначала пишешь тест бизнес-логики, потом код, потом рефакторишь.
#319 #509540

>509381


И как же она решена, неосилятор?
#321 #509703
>>509617
ясно, понятно.
195 Кб, 1920x1080
#322 #509705
анон, написал тут функцию, которая разбивает строку на слова и возвращает лист тьюплов, содержащих слово, индекс начала слова в стоке, индекс конца слова в строке. Такой вот аналог встроенного string.split(), содержащий информацию о положении слова в строке. Функция работает, но она какая-то длинная и некрасивая. Может подскажешь как ее лучше реализовать?
http://pastebin.com/uS6WigRh
49 Кб, 590x546
#323 #509732
>>508656
>>508664
Это был - Пик-рандом.
22 Кб, 1000x249
#324 #509733
>>508868
Lubuntu.
342 Кб, 1424x1193
56 Кб, 1016x528
300 Кб, 1482x1173
71 Кб, 700x720
#325 #509735
>>508549
Это так охуенно, что просто охуенно. Я бы до такого кода никогда не додумался, печалька.
#326 #509754
>>509705

>string.split()


>def split(string):


1. Свою функцию не стоит называть так же как встроенная в язык.
2. string, result, char - плохие имена для переменных.
3. result = list() - наверное понятнее будет так result = [].
4. Стандартный отступ в 4 пробела. И вообще
https://www.python.org/dev/peps/pep-0008/
http://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html
5. Последняя строка вроде как ничего не выполняет split("I am god!") == [('I', 0, 1), ('am', 2, 4), ('god!', 5, 9)]? Сравнение без вывода результата?
6. Коментарии? Строки документирования?

Наверное надо как-то так:
http://pastebin.com/KAZb5Hqg
99 Кб, 1440x810
#327 #509758
>>509754

>1. Свою функцию не стоит называть так же как встроенная в язык.


Я и не называл.

>>> split("I am bitard")



Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
split("I am bitard")
NameError: name 'split' is not defined

>2. string, result, char - плохие имена для переменных.


Это еще почему? Вот str и chr действительно неудачные. А против result я совсем не понимаю что ты имеешь?

>4. Стандартный отступ в 4 пробела.


Мне он кажется слишком широким. 2 пробела в саблайме смотрятся норм. Если надо будет, в финальной версии подправлю.

>6. Коментарии? Строки документирования?


Да ладн? Неужели настолько говнокод, что без комментов не понятно?

Я все-таки покомпактнее вариант придумал:
http://pastebin.com/Ap6kVDhg
#329 #509764
>>509761
Ну чтож, неплохо

>>> pow(31, 4)


923521
#330 #509767
>>509764
Честно, ты ко мне обращаешься?
#331 #509770
>>509767
Ну да. Вероятность получить слово "ЖОПА" 1 из 923521. А тебе понадобилось только 589831 попыток. Алсо, сколько времени заняло?
http://pastebin.com/tU6ze8KZ
#332 #509771
Котаниусы, столкнулся с такой проблемой.

В Довсоне приводится такой код:

# Personal Greeter
# Demonstrates getting user input
# Michael Dawson 1/13/03
name = raw_input("Hi. What's your name? ")
print name
print "Hi, " + name
raw_input("\n\nPress the enter key to exit.")

Его цель, я так понимаю, чтобы пользователь по запросу программы ввел свое имя в терминале

делаю файл 2.py:

name = raw_input('Please enter your name')
print name
print 'Hi,' + name
raw_input('\n\nPress any key to exit')

Выполняю
cd /home/user
python2 2.py

Пишет:
/usr/bin/python2: can't find '__main__' module in '2.py'

ЧЯДНТ?
#332 #509771
Котаниусы, столкнулся с такой проблемой.

В Довсоне приводится такой код:

# Personal Greeter
# Demonstrates getting user input
# Michael Dawson 1/13/03
name = raw_input("Hi. What's your name? ")
print name
print "Hi, " + name
raw_input("\n\nPress the enter key to exit.")

Его цель, я так понимаю, чтобы пользователь по запросу программы ввел свое имя в терминале

делаю файл 2.py:

name = raw_input('Please enter your name')
print name
print 'Hi,' + name
raw_input('\n\nPress any key to exit')

Выполняю
cd /home/user
python2 2.py

Пишет:
/usr/bin/python2: can't find '__main__' module in '2.py'

ЧЯДНТ?
#333 #509774
>>509770
да, там навероное нужно использовать permutations вместо combinations
#334 #509776
>>509770

>Алсо, сколько времени заняло?


Из-за принта в цикле очень долго ~2 часа.
#335 #509782
>>509771
Очевидно, что не оборачиваешь совй код в модуль __main__()
#336 #509789
>>509782
Крч, разобрался. Я писал код в ЛибреОффис, а потом сохранял под расширением .py, но там, видимо, дохуя невидимого форматирования, которое сбивает код.

Сделал в блокноте, там plain text, все заработало.
Алсо, как сделать абзац?
В примере автора Имя нужно вводить сразу за запросом на той же строке:
What's your name?Peter
или What's your name? Peter

А мне абзац охота.

Решил этот вопрос путем трипл квота
('''
What's your name?
''')

Но, может, можно изящнее?
#337 #509790
>>509789

>писал код в ЛибреОффис


убейся
#338 #509792
>>509789
Не совсем понял, накой тебе абзац, но добавь new line character в конец строки
"What's your name?\n"
#340 #509805
>>509793
Твоя правда, спасиб!
Тока у тебя баг, смотри последний пример. Но я поправил.
sage #341 #509834
>>509771

>python2

12 Кб, 836x787
#342 #509837
ГПСЧ
Линейный конгруэнтный метод — один из методов генерации псевдослучайных чисел. Применяется в простых случаях и не обладает криптографической стойкостью. Входит в стандартные библиотеки различных компиляторов.
http://pastebin.com/88cvfNhV
#343 #509845
>>509790
А что такого? Ты в чем пишешь? Я на линуксе, если что.

>>509834
Доступные в интернете редакции Довсона написаны по второпитониусу. Алсо, в прошлом треде аноны говорили, что второпитониус до сих пор является главным питоновым языком, несмотря на наличие третьего.
#344 #509847
>>509845

>Доступные в интернете редакции Довсона написаны по второпитониусу.


># Michael Dawson 1/13/03


>/03


2003 года-то? Не удивительно. Ты бы еще по глиняным табличкам питон учил.
261 Кб, 1280x960
160 Кб, 1280x960
152 Кб, 1280x960
#345 #509855
>>509845

>Я на линуксе, если что.


Ох, лол.
#346 #509856
>>509847
Третья (последняя) редакция Довсона датирована 2010, есть только на русском языке (переведена в 2014), и я ее сверяю по содержанию регулярно. Особых различий кроме input <-> raw_input, print ' ' <-> print (' ') нет.

Довсона мне предложили в треде. Ты считаешь, надо что-то другое штудировать?
sage #347 #509857
>>509856
Завтра ищешь в интернете книжку Dive into Python 3. Похуй если ничего не поймешь.
sage #348 #509860
>>509845
Блять вот уж на линуксе крутых редакторов хоть жопой жуй, прямо из реп. Как ты докатился до офиса?
#349 #509862
>>509855
У меня минт, в него не завезли
#350 #509864
>>509860
Пробовал ОпенОфис, ВПСврайтер, ЛибреОффис. Остановился на Либре. А что в ней, собственно, такого зашкварного?
170 Кб, 1280x960
#351 #509868
>>509862
Чего тебе не завезли?

http://pythonworld.ru/osnovy/skachat-python.html
Установка Python на linux системы (ubuntu, linux mint и другие)
Откройте консоль (обычно ctrl+alt+t). Введите в консоли:

python3
Скорее всего, вас любезно поприветствует python 3:

Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.

>>>


Если это так, то можно вас поздравить: у вас уже стоит python 3. В противном случае нужно установить пакет python3:

sudo apt-get install python3
Либо через mintinstaller / synaptic / центр приложений ubuntu / что вам больше нравится.

В python для linux нет предустановленной среды IDLE. Если хотите, её можно установить отдельно. Пакет называется python3-idle.

Однако, её установка не является обязательной. Вы можете писать в своём любимом текстовом редакторе (gedit, vim, emacs...) и запускать программы через консоль:

python3 path_to_file.py
Теперь вы можете написать первую программу (хотите, пишите в IDLE, хотите - в своём любимом текстовом редакторе).
sage #352 #509869
>>509862
http://community.linuxmint.com/software/view/idle-python3.4
Попизди мне тут. Минт твой основан на убунте. В убунте есть - значит и там есть.

>>509864
Зелень, ты опять выходишь на связь? Офис это офис, во всех офисах овердохуя фортирования которое нужно только для офиса, но которое может знатно поднасрать исходным кодам. geany/gedit самые простые и самые богатые по фичам редакторы плейнтекста, что тебе и нужно. Есть в репах. Я бы посоветовал vim, но ты дно какое-то.

Дальше. По второму питону. Ты серьезно хочешь учить технологию, которую закопают через 4 года? Только третий.
#353 #509870
>>509869
Вам сублим же завезли, пользуйтесь на здоровье
sage #354 #509872
>>509870
Нахуй эта закрытая параша нужна, если даже geany умеет 90% того, что умеет сублим? Я уж молчу про vim/emacs
210 Кб, 1280x960
#355 #509873
>>509869
Нахуя ты сагаешь?
#356 #509874
>>509868

>В python для linux нет предустановленной среды IDLE. Если хотите, её можно установить отдельно. Пакет называется python3-idle.



Вот этого не завезли.

Ясное дело, можно докачать.
Но зачем, если > её установка не является обязательной. Вы можете писать в своём любимом текстовом редакторе
105 Кб, 492x661
sage #357 #509876
>>509874

>офис


>текстовый редактор


Ясно.

>>509873
Потому что могу.
#358 #509877
>>509869
Да там разницы вроде нет особой со второпитониусом.

Блять, ты меня растерял. Аноны, проясните, разве питон нельзя учить по второпитониусу?
10 Кб, 1366x743
#359 #509883
>>509876

>текстовый редактор



Значение знаешь?
#360 #509885
>>509877
Нельзя, блять. Если я узнаю что учишь по второму - вычислю тебя по ойпи. приеду и заставлю дрочить мой питон твоим анусом.

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

>>509883

>текстовый процессор


Процессор, маня.
https://en.wikipedia.org/wiki/Word_processor
https://en.wikipedia.org/wiki/Text_editor
Чуешь разницу?
#361 #509888
>>509885

>игнорирует то, что в скобочках



Товарищ погромист, давайте не будем перевирать пруфы.
#362 #509890
>>509888

>игнорирует то, что по ссылкам


>не будем перевирать пруфы


>перевирает пруфы

#364 #509896
>>509890
Ничуть не игнорирую. На моей картинке написано, что ЛибреОффис - одновременно и текстовый редактор, и текстовый процессор. По твоей ссылке о ЛибреОффисе не говорится, поэтому противоречия нет.
#365 #509897
>>509893
Есть разница между Shell ом, который таки да, есть в минт, и собственно ИДЛЕ, которого в минт нет.
#366 #509898
>>509896
Ебало завали, петух блять
#367 #509899
>>509896

>libreoffice writer - бесплатный текстовый процессор


>ссылка про текстовый процессор


>по твоей ссылке о ЛибреОффисе не говорится

#368 #509900
>>509897
Вот, например, дискач про это:
http://forums.linuxmint.com/viewtopic.php?f=47&t=152107
#369 #509901
>>509899
Бесплатный текстовый процессор (А В СКОБОЧКАХ ТЕКСТОВЫЙ РЕДАКТОР).

Блять, вы троллите что ли меня?
#370 #509902
>>509901
Да ты заебал, сириусли. Возьми крутой редактор или ide какую, офисы не приспособлены для кода.
109 Кб, 579x351
46 Кб, 1924x1056
20 Кб, 833x789
#371 #509903
>>509896
БЛЯ, ПОСОНЫ, ЧЁТ НЕ РОБИТ!
#373 #509906
>>509904
На моей картинке.
#374 #509908
>>509872

>Поддержка макросов и плагинов на языке программирования Python;


Удобно же, для среднестатистического посетителя этого итт треда будет в самый раз. Удобные фичи в виде залива файла по (s)ftp по хоткею, куча прочих плагинов, и все на питоне. Емакс это отдельная тема, сам понимаешь, что многим не понравится, ибо на любителя.
sage #375 #509988
>>509896
Очевидный зеленый ни разу не палится.
Таки знатно покормили толстячка.
#376 #510106
>>509391
Удвою вопрос, только применительно к Tornado. Django-rest не подходит.
#377 #510198
>>509988
либрофис для лохов, только старофис тру
#378 #510222
Анчоусы, кто сможет помочь? Нужно набросать небольшой код
Суть такова: Нужно авторизоваться на mail.ru и начать новое письмо. Заполнить 3 поля и все.
Все это должно работать на selenium + phantomjs
Могу подкинуть деньжат если че
#379 #510272
В чем сущностная разница между текстом, стрингой, и целым числом, интегером?
#380 #510287
Второпитониусы, почему с арифметической ошибкой считает последнюю операцию?

x = raw_input('Enter X\n')
y = raw_input('Enter Y\n')
z = raw_input('Enter Z\n')
f = x + y + z
print 'Totals:', f
raw_input('Press any key to continue')
#here starts the next part
x = raw_input('Enter X\n')
x = int()
y = int(raw_input('Enter Y\n'))
z = int(raw_input('Enter Z\n'))
f = x + y + z
print 'Totals:', f
raw_input('Press any key to exit')
183 Кб, 897x939
258 Кб, 1095x899
99 Кб, 1100x328
#381 #510310
>>510272
Лутц М. - Изучаем Python (4-е издание)- 2011
#382 #510312
>>510310

>русский язык

250 Кб, 2048x1536
#383 #510316
>>510287

>x = raw_input('Enter X\n')


>x = int()


Из-за этой хни выше, должно быть так:

>y = int(raw_input('Enter Y\n'))


>z = int(raw_input('Enter Z\n'))

#384 #510317
>>510312
Голландец дохуя?
#385 #510334
>>510287

>x = int()


x = int(x)
Не?
17 Кб, 644x171
#386 #510340
>>510287
x = int() = 0
Где ошибка? Или я не так понял?
#388 #510363
>>510340
>>510344

>f = x + y + z


x = int() значит х всегда равен 0.
Пользователь вводит
x=1 --> x = raw_input('Enter X\n')
y=2 --> y = int(raw_input('Enter Y\n'))
z=3 --> z = int(raw_input('Enter Z\n'))
f=1+2+3=6
А у тебя х=0, т.к. x=int() и f=5.
#389 #510403
>>510363
Так нет никакой ошибки.
x (str) = raw_input... # = some string
x = int() # = 0

...

f = 0 + .. + ...

Алсо, не я вопрос задавал, я отвечал.

>почему с арифметической ошибкой считает последнюю операцию


Нет ошибки, потому что x = int() = 0, тот кто задавал вопрос - просто обнулил "x = raw_input('Enter X\n')"
970 Кб, 1069x687
#390 #510459
Как же я проиграл. Ебучий хс.
#391 #510470
>>510287

>Второпитониусы


Офис-кун, опять выходишь на связь?
#392 #510533
>>510222
бумп
#393 #510549
>>510533
А почему именно фантом и селениум? Хочешь эмуляцию человеческих тыканий? Впервые про них слышу, может не ту инфу нагуглил. А причем тут питон вообще не понял. Если эти твои йоба-инструменты не принципиальны, я бы и бесплатно сделал, только задачу уточни.
#394 #510556
>>510549
Понял я что такое селениум. Но не понял зачем там фантом, без него можно обойтись. В общем, если с этими йобами, то бесплатно не буду, лень разбираться в том что не интересно, за просто так. Бесплатно могу накидать программную авторизацию и отправку писем через сервис, либо гораздо проще - напрямую через smtp
#395 #510560
>>510556
Да, все правильно ты сказал, про эмуляцию. А фантом, это что бы экземпляр браузера не запускался. По сути работа выполняется та же самая, только браузер не стратует.

>Бесплатно могу накидать программную >авторизацию и отправку писем через сервис


А что за сервис?
#396 #510568
>>510560

> А что за сервис?


> Суть такова: Нужно авторизоваться на mail.ru



Я подумал что тебе принципиально отправить письмо из веб-морды mail.ru, но смысла в этом не вижу, потому что есть способы отправить письмо гораздо проще. Другое дело, если ты указал майлсру только в качестве примера, и цель у тебя просто на примере научиться пользоваться своими йобами.
#397 #510569
>>510560

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


Ээээээээм, а зачем тогда тебе селениум? Ты что-то там слишком мудреное придумал. Давай объясняй по порядку, зачем тебе такие извращения?
#398 #510573
>>510568
Да, принципиально с моего аккаунта

>>510569
Потому что я больше не знаю фреймворков, которые бы могли обрабатывать javascript. Там ведь контент рендериться с помощью его
#399 #510580
>>510573
Эх, ничего то ты не понял. Незачем обрабатывать жс, вангую что там обычные аякс запросы на скрипт, который отдает json. Сейчас будет тебе вариант без йоб, и письма будут уходить с твоего акка. 20 минут жди.
#400 #510583
>>510580
Нихуя себе. Было бы конечно здорово. Но когда я пытался проделать с разными либами, у меня в исходном коде было что то типа "Ваш браузер не поддерживает JS" и формы с инпутами не было
#401 #510585
>>510580
Или ты собираешься просто пост запрос с данными на нужый урл отсылать?
#402 #510590
>>510585
Ниет

from smtplib import SMTP_SSL
from email.mime.text import MIMEText

me = "" # ящик с которого нужно отправить
password = "" # пароль от него
to = "" # кому отправить

msg = MIMEText('Текст сообщения')
msg['From'] = me
msg['To'] = to
msg['Subject'] = 'Заголовок сообщения'

smtp = SMTP_SSL()
smtp.connect('smtp.mail.ru')
smtp.login(me, password)
smtp.sendmail(me, to, msg.as_string())
smtp.quit()
#403 #510595
>>510590
Могу еще и получение писем сделать, если тебе пойдет такой вариант, а то пристал со своим селениумом
#404 #510604
>>510590
Слушай, а где-то говорится, как питон работает со смежными дисциплинами? Потому что ни в одном пособии я не вижу описание работы питона с СМТП.
#405 #510605
>>510590
Спасибо, будем тестить
#406 #510610
>>510604
Ну как бы тебе сказать. Было достаточно загуглить "python send mail". Если интересно как работает, то поковыряйся в smtplib
32 Кб, 460x276
#407 #510669
Клиентское приложения на Django уебанство или нет?, типа пользователь запускает startdjango.exe, переходит на 128.0.0.1:8000 и там работает.Нужен доступ к фс пользователя и при этом желательно соблюдать бесшовность с основным веб ресурсом.
#408 #510698
>>510669
в принципе да, но может и нет.
#409 #510706
>>510669
Нахуя тащить с собой джангу, если сервер поднимается в 3 строки? А вообще да, это говноедство
#410 #510848
>>510669
Не делай так. Можешь заюзать Twisted, там есть модуль Twisted.Web, сам юзал. Или использовать wsgi-модуль, тогда из twisted получишь доступ ко всем плюшкам django.
30 Кб, 900x300
#411 #510938
Смотрите, сосарики, я нашел ошибку в коде Добшона!
#413 #511029
>>510938
всем похуй
#414 #511179
Привет, анон. Попробовал сегодня поиграться с написанием нейронной сети, вот результат
http://pastebin.com/qrSDtrdE

То, что долго работает - это я прекрасно понимаю, считать количество операций я умею. Но вот я вообще не понимаю, что за херня происходит с потреблением памяти. Читаю файл размером в 80 метров, вот, что пишет профайлер:

Line # Mem usage Increment Line Contents
48 162.855 MiB 136.684 MiB for line in f:
49 162.855 MiB 0.000 MiB tests.append(np.array(list(map(int, line.split(',')))))
63 292.574 MiB -77.512 MiB tests.clear()

Какого хера питон куда-то скушал мои 60 метров памяти, кто-нибудь может мне объяснить?

не обращайте внимание на говнокод, я его еще не начинал причесывать
#415 #511188
>>511179
Кстати, такое ощущение, что он умеет грузить несколько ядер. Это, небось, из-за numpy, или как? Насколько это реально ускоряет работу?
#417 #511227
>>511192
Молодец! Реализация алгоритма просто загляденье, код оформлен в лучших практиках. Удача, что такой талант зашёл на сасачь! Продолжай в том же духе, мы с тобой свяжемся. пошёл нахуй говноед
#418 #511234
>>511192
Нужно больше циклов!
#419 #511241
>>511227
>>511234
Серьезн? Я думал нормально вышло. Даже на гитхаб хотел запостить - вдруг кому пригодится.
#420 #511246
>>511241
Да пости на здоровье, гитхаб всё стерпит.
#421 #511258
>>511241
Я конечно не спец в пифтне, но есть же всякие мапы, зипы и прочее, а у тебя тонна встроенных циклов, и как-то в целом глупо
#422 #511263
>>511258
Ну из песни слов не выкинешь:
1) Создать матрицу mxn
2, 3) Заполнить нулевую колонку и нулевой столбец матрицы начальными значениями пенальти за пробелы.
4) Заполнить матрицу.
5) Отследить последовательность, котоя даст максимальный счет. Можно совместить с пунктом 4, но получаетя как-то некрасиво и сложно дебажить.
#424 #511709
>>511263
ну блять, для этого всего нужны циклы. а головой подумать?
#425 #511729
Анон, где есть списки для чего НЕ стоит использовать питона? Везде одни плюсы, рассказы о том, что можно космические корабли с его помощью скрипт-для-заказа-пиццы.py выводить на орбиту и крузисы писать на собственных движках.
Вчера я начал ебаться с XML, блядь, все глаза на жопу вылезли. Вот только проснулся, всю ночь мануалы читал. И только под утро понял, что, блядь, в asp, который я знаю на начальном уровне, я нужные мне задачи решу за 10 минут.
Нет, мне питон всё равно был нужен для удобного гуя, но, ёбанный стыд же.
Очень хочу адекватных ответов или ресурсов на эту тему.
inb4: кривые руки, говнокодер, питон универсален и всякое другое утячество
27 Кб, 1920x391
#426 #511782
Зачем так делать.
Код не мой.
#427 #511794
>>511729
Мой скромный опыт:

Плюсы питона:
1) Читаемость.
2) Скорость разработки.
3) Обилие библиотек с готовыми решениями.
Минусы питона:
1) Скорость исполнения.
2) Динамическая типизация.

Соответственно, его не стоит использовать там где критична скорость исполнения.
#428 #511914
>>511709
Циклохейтер детектед. Хотел пошутить про циклы и твой анус, но ничего в голову не приходит, уж извини
#429 #511916
>>511782
Улучшить читаемось, может просто строку сделать не такой длинной. Может у автора такое видение прекрасного, хз.
309 Кб, 1024x600
#430 #511974
>>511794

>2) Динамическая типизация.


Я думал это плюс?
#431 #511987
>>511974
Это плюс для читаемости и скорости разработки, но минус для отладки. чуть что - я диванный программист, лол
#432 #512066
Вопрос по башу и питону.
Есть задача: проверить, имеется ли определённый модуль в установленном на компьютере питоне 3 и, если нет, проверить второй питон. (Таким образом выберется версия питона, которая дальше будет использоваться для запуска всяких разных других скриптов.)

Возможно ли это сделать без запуска скрипта, содержащего
try:
import module
print("OK")
except:
print("Nope")

?

Если нет, то возможно ли как-то эти 5 строк кода вписать в переменную в баше и там же сразу выполнить, записав результат в переменную? Что-то типа:
code="moy
multistrochniy kod tut"
module_ok=`python3 $code`

И в module_ok запишется либо "OK", либо "Nope". (Так, разумеется, не работает.)
Т.е. без необходимости создания (и потом удаления) пятистрочного файла проверки (что я сейчас и делаю).
37 Кб, 550x453
#433 #512089

>Устроился на работу


>Почти не заходишь в любимый питоний тред

#434 #512092
>>512066
Ну скажем ты создашь питоний скрипт, который импортирует что-то из третьего питона. И возвращает 0, если все норм и 1, если нет. Тогда баш скриптом ты сможешь проверить выход этой программы и сделать выводы.

А еще можешь писать не на баше, а на том же питоне все скрипты.
#435 #512106
>>512066
[code]
#!/bin/bash

TEST_MODULE=syso

python -c "
try:
import $TEST_MODULE
err_code = 0
except:
err_code = 1
exit(err_code)
"

if [ $? -eq 0 ]; then
echo "Module exists"
else
echo "Module doesn't exist"
fi
[/code]
#436 #512107
>>512092

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


Эм, я как бы именно это и делаю. Вопрос-то в другом. Можно ли обойтись без создания файла?

Всё на питоне не могу, вне моего контроля.
#437 #512109
>>512106
Я криворук, но надеюсь, ты поймешь, как расставить отступы.
#438 #512110
>>512106
Ах, вот оно, "-с". Спасибо огромное!
50 Кб, 1917x605
#439 #512164
>>511916
Вот ещё оттуда же.
Зачем? Зачем просто менять точку на подчёркивание, Карл?
Разве это не просто лишнее действие которое замедляет исполнение программы?
4 Кб, 664x219
#440 #512166
Какой из способов в примере более кошерен и быстр, когда возможен какой-нибудь частный случай вызывающий исключение?
#441 #512177
>>512106
нафиг такие заморочки
python - c "import foobar" 2>/dev/null && echo "module exists"
или $? проверяешь потом
#442 #512179
>>512166
Второй более быстр но не сильно. Вкусовщина
можешь написать
b=0
a=b and 10/b
#443 #512180
>>512164
По идее да это немного быстрее, не надо каждый раз эту функцию искать в dict объекта, если он её вызывает миллиард раз может какой-то профит быть. Но больше похоже на говнокод.
#444 #512183
>>510669
Редкостное уебанство. Напиши на Pygtk или qt
#445 #512210
>>512179

>a=b and 10/b


Как это работает?
#446 #512211
>>512180

>Но больше похоже на говнокод.


Но это популярная библиотека для писания игр, которая уже много лет в разработке.
#447 #512215
Супец.
Мне нужно написать скрипт, суть такова: отправлять http запрос, сформированный из того что ввёл юзер в текстовые поля. Получать json, парсить урлы и сохранять на диск содержимое урлов. Так же скрипт нужно будет упаковать в исполняемый exe.
Решил что питон подходит для задачи.
Какие либы курить?
#448 #512216
>>506124
Так python таки нужен или лучше учить ruby?
Интересует исключительно веб-разработка.
#450 #512230
>>512164
Поддвачну вопрос.
Возможно, чтобы визуально отличать встоенный list.append() от методов класса sprites, если там что-то такое есть в коде
#451 #512233
Чому если использовать русский язык, даже в комментах, выдает ошибку? Питониуш не может в русик?
#452 #512236
>>512180

> это немного быстрее


this.
И ещё так делают для nonlocal и global идентификаторов.
А профит:
http://pastebin.com/CLrfLj2S
#453 #512243
>>512233
Да, в лихих 2000-х была беда с кодировками, попробуй актуальные версии питона (3.4).
#454 #512244
Блядь. Почему юникод в питоне - это настолько больно? 2015й год на дворе, вашу мать.
>>512233
# coding: utf-8
В самом начале файла. Но наебёшься ты с ним.
#455 #512248
>>512244

>#coding: utf-8



Спасибо, визард.
6 Кб, 459x286
#456 #512251
питонисты, поясните мне, что вы делаете, когда вам надо в массив-конкаренси? я так понял, у вас там есть многострадальный GIL, из-за которого питон суть однопоточный.

алсо я так понял, у вас там еще и беда с либами юзерспейс-тредов. кроме гевента нихуя нет, а гевент по 2 питон.

я не тролль, просто ленивая жопа и в гугле зойбанили
#457 #512253
Даю задачу посчитать 10% от суммы и вывести на экран:
percentile = raw_input('Enter raw number') / 100 * 10
print percentile

Есть ли какой-то preset оператор для высчитывания процентов? Умножение, вычитание и прочая лабуда есть. А процентов нет? Потому что проценты хуячат либо как модули (остаток), либо как вставка всякого говна вместо назначения вариаблей (%s, %f, %d и т.д.).

А как чтобы подобно инженерному кальку? Ввел исходное значение, бздынькнуль оператор % и посчитал.
#458 #512255
>>512251
stackless python, pypy и пр.
#459 #512256
>>512253
а есть оператор для хелловорлда?

10% = *0.10. в чем подвох?
#460 #512258
>>512255

>PyPy is a fast, compliant alternative implementation of the Python language (2.7.9 and 3.2.5)



ну не очень решение. вангую там еще куча багов к тому, что оно на 3 версии отстает от апстрима.

алсо интересует, что вы делаете, когда у вас нет возможности валить с CPython? вот я такой пишу на 3.5 и тут мне всралось запилить многопоточное приложение. мои действия?
#461 #512259
>>512215
Про .exe не знаю, но думаю flask для такого подойдет.

>>512216

>ruby


>нужен


Рассмешил, содомит.
#462 #512264
>>512215

>flask


>простой скрипт


Вы тут со своей веб разработкой ануса совсем поехали?
#463 #512266
>>512258
Кому нужны jit и микротреды, вполне себе решение.
Третью версию и модули на С он ещё нормально не поддерживает, а вторая версия вполне рабочая.

Многопоточные числодробилки -- модули на С.
Паралелльный IO -- asyncio и ему подобное.
#464 #512267
>>512256
Хотелось бы в одну кнопку.
То есть такого оператора нет? А можно его написать? Это функция получится?
#465 #512269
>>512267
ибать ты тралка))
#466 #512304
Подскажите ide, а то я чет ide-срача не нашел.
#467 #512319
>>512304
А их нет. Только pycharm, остальные - текстовые редакторы, отличающиеся лишь подсветкой.
#468 #512320
>>512319

>PyCharm разработана компанией JetBrains на основе IntelliJ IDEA.


>Двойное лицензирование


чет не оч
#469 #512323
На любую цифру вместо адекватных процентов код возвращает 0.0
Чому?

#coding: utf-8
#Антоша
#this program is called Tipper
#its purpose is to calculate 15 and 20 percent tip for an entered user-value
#first we will require user to enter value. we'll use variqable at first.

rawnumber = raw_input('Enter please the raw number which you want tip to be calculated for\n')
rawnumber = float()
print rawnumber / 100 15
print rawnumber / 100
20

raw_input('\n\nExit')
#470 #512326
>>512323
ааа, опять в кавытосы не закатал ничего, вот там и ноль
#472 #512334
>>512330
Зачем тогда пишешь очередной блокнот, лукавый?
274 Кб, 1086x804
#473 #512352
>>512334
Да я учусь только, по Лутцу. Он пишет свой, я - свой.

Вот така хуйня, малята!
#474 #512372
Щито ему блять не нравится.
#coding: utf-8
#Антоша
#this program is called Tipper
#its purpose is to calculate 15 and 20 percent tip fpr an entered user-value
#first we will require user to enter value. we'll use variqable at first.
#enter the base price of a car

bprice = raw_input('Enter the base price of a car\n')
bprice = int(bprice)
tax1 = bprice 0,02
license1 = bprice
0,15
print 'THank you, the price will be ', bprice + tax1 + license1 + 100 + 180, 'dollars'

raw_input('\n\nPress')

>>>>>


TypeError: unsupported operand type(s) for +: 'int' and 'tuple'

(инту перед лицензией и таксой прибавлять пробовал, отдельный вариабль для окончательной операции вводить - пробовол. все равно про эту "туплю" пишет)
#475 #512387
>>512372
Пишет, что ты пытаешь сложить кортеж и инт.
Но я не понял, почему у тебя тут ошибки не вылезло?

>tax1 = bprice 0,02


>license1 = bprice 0,15

#476 #512403
>>512387
Там разметка двощей перехерачила знаки умножения, приняв их за знаки курсива.

В оригинале было:
tax1 = bprice * 0,02

Или это тоже ошибка?
#477 #512404
Блять, а может десятичные фракции надо только с точкой указывать? И с запятой не считается?
#478 #512406
Все понятно, короче.
Увидев "0,02", ебущийся в глаза питон решил, что это список, тупля, хотя там была записана дечимал фракшн.
#479 #512440
>>512403
Лол, ток сейчас спалил. Ты написал 0запятая02, а нужно 0точка02
#480 #512456
>>512406

>децимал фракшн


>запятая


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


>не знает, как в англоязычном мире обозначаются нецелые числа


>ругается

#481 #512470
>>512251

>массив-конкаренси


Ты определись что надо конкаренси или мультитреадинг. В конкаренси петон умеет очень хорошо.
#483 #512472
>>512456
Если ты про то, что обозначается ПОЙНТОМ, то это я уже сам спалил ))00
#484 #512643
Что быстрее обратится к полю класса экземпляра объекта или найти значение в словарике?
#485 #512692
>>512643
Затести, дибил.
#486 #512710
>>512692
Ебало завали
24 Кб, 648x507
15 Кб, 642x540
10 Кб, 648x507
37 Кб, 642x510
#487 #512748
>>512330
>>512352
Стал запускать в Ubuntu и вот такие болты на иконки, чаво делать, питоны?

root.iconbitmap("notepadik_list.ico")
File "/usr/lib/python3.4/tkinter/__init__.py", line 1702, in wm_iconbitmap
return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "notepadik_list.ico" not defined

winHelp.iconbitmap("help.ico")
File "/usr/lib/python3.4/tkinter/__init__.py", line 1702, in wm_iconbitmap
return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "help.ico" not defined
#488 #512792
Так-так-так, поясните совсем ньюфагу, который пока решил просто посмотреть на язык на кодекадемии.

Я так понял, в питоне нет, в отличии от многих языков, каких-либо скобок для выделения блока кода, и это самое выделение происходит отступами? То есть допустим у меня есть участок кода из 100 строк, и тут мне понадобилось, чтобы он выполнялся лишь при каком-то условии (if что-то там), я не могу просто заключить его в скобки и дописать перед ним этот if, мне надо каждую строчку переносить правее? Или как, лол?
#489 #512850
>>512792
Да. Руками, каждую из этих ста строк. Для каждой жмешь четыре раза пробел - все правильно.

А за 100 строк кода по одним if наверно сильно ругают
#490 #512851
>>512792
Если ты дибил, то да.
Нормальные ребята используют редакторы с возможностью индента нескольких строк по одному (sic!) нажатию таба.
Алсо, нормальные ребята выносят блоки кода в отдельные функции, а не ебашут инлайново сто строк говнокода.
#491 #512917
>>512236
Глобальные переменные вообще лучше избегать.
#493 #512921
>>512319
pydev
spyder
komodo
wing ide
aptana studio
ещё что-то было
>>512304
vim
#494 #512926
>>512643
Одинаково. Поля класса хранятся в словаре(если ты не используешь __slots__)
http://stackoverflow.com/questions/472000/python-slots/28059785#28059785
29 Кб, 590x264
#495 #513118
Как сделать чтобы доходило до 3200? Или только ручками округлять число?
Есть к примеру 3132 записи, или любое другое число. Мне нужен цикл с шагом в 200, к примеру, но чтобы были захвачены все записи, а не 3000, в данном случае нужно округлить до 3200. Как это красиво сделать?
#496 #513142
>>513118
Хер проссышь что тебе надо, на самом деле.
http://ideone.com/mg3oAj
#497 #513148
Делать статическими все методы класса, которые не используют атрибуты объекта - это хорошая идея?
#498 #513154
>>513142
Спасибо, это и нужно было. Если по простому, то в цикле "for x in xrange(0, 3132, 200)" последним числом было 3000, таким образом 132 значения проебывались. Поскольку шаг в 200, нужно было округлять до 3200.
#499 #513161
>>513148
Разве не в этом суть статических методов?
18 Кб, 500x327
#500 #513164
>>513161
Я думал, суть статических методов класса в доступе к ним извне без создания объектов класса. А так они у меня используются только внутри класса, при внешнем вызове смысла не имеют.
19 Кб, 485x110
#501 #513179
Питонусы, как избежать такого уебанства при работе с жсоном? Меня аш трисет
#502 #513180
>>513179
for attachment in [a for a in [i for i in items if "attachments" in i["message"]] if "photo" in a]:
print attachment, "\n\n\n"
#503 #513183
>>513179
А ещё можно импортировать какой-нибудь парсер модуль.
#504 #513185
>>513180
Не, ну это вообще пиздец
#505 #513194
>>513179
http://pastebin.com/9eGNCRtW
Написать класс, который будет вилкой разбирать это всё по шаблону.
#506 #513197
>>513179
if "a" not in x: continue
#507 #513200
>>513179
Вообще бы здесь тебя спало что-нибудь типа SQL для JSON.
#508 #513202
Есть список:
['value_1', 'value_2', 'value_3', 'value_10', 'value_100', 'value_500']
Как проще найти самое большое value? У меня вообще какой-то глупое решение пришло в голову - перебрать весь массив, реплейснуть "value_", засунуть в новый и потом отсортировать результат, но это гулпо, а как по-другому хз
#509 #513223
>>513202
За один проход всё это делаешь. Для каждого элемента списка делаешь реплейс и сверяешь с текущем максимумом.
#510 #513234
>>513202
max()?
#511 #513290
>>513202
+1 за max. Как вариант:
max(your_list, lambda x: int(x.split('_').pop()))
#512 #513291
Питонусы, срочно. Как пройтись циклом по диапазону ip? 127.0.0.1 .. 127.0.1.0 к примеру. Нужен диапазон в лист.
#513 #513292
>>513291
На авторство не претендую, было слизано с какого-то бложика в одном из проектов:
def get_ip_range(first_ip, last_ip):
\tip_range = []
\tfirst = list(map(int, first_ip.split('.')))
\tlast = list(map(int, last_ip.split('.')))
\tcur = first
\tip_range.append(first)
\twhile cur != last:
\t\tfirst[3] += 1
\t\tfor x in (3, 2, 1):
\t\t\tif cur[x] == 256:
\t\t\t\tcur[x] = 0
\t\t\t\tcur[x-1] += 1
\t\tip_range.append('.'.join(map(str, cur)))
\treturn ip_range
#515 #513300
>>513294
Исправил главную ошибку в твоем коде. http://ideone.com/8CzOBz
#516 #513303
>>513300
Спасибо
#517 #513316
Анон, вопрос от нубакуна. Моя программа состоит из функций, созданных мною. Мне нужно, чтобы после вызова любой функции моя глобальная переменная менялась на один. Как это сделать?
#518 #513317
>>513316
UPD: увеличивалась на один
#520 #513341
>>513326
Спасибо.
#521 #513385
Зачем нужны генераторы? Выглядят вырвиглазно.
#522 #513434
>>513385
Экономят память.
#523 #513438
>>513179
В Питоне нельзя json привести к объекту и работать с ним нормально?
#524 #513623
Питон-тред, ты живой? Нужна помосчь!
#525 #513625
>>513623
Живее всех живых
#526 #513627
>>513625

Нужно дописать брут многопоточный, ошибки с тредами и чтением построчно возникают, да и вообще всё ужасно. Уже не знаю к кому обращаться.
#527 #513630
>>513627
Эм, ну кидал бы скрипт сразу, и описывал что исправить нужно
#528 #513632
Есть парсер на пикрелейтед.
1. Как нормально задать переменные line1 и т.д.?
2. line4 выдает результат без перевода строки. Как исправить?
Нихера не знаю питон

Реально ли на питоне написать торрент-клиент, ну или хотя бы программу, которая будет смотреть в dht? Если да, то что курить?
44 Кб, 333x636
#529 #513633
>>513632
пик забыл.
#530 #513635
>>513632
Сделайте меня развидеть это

>1. Как нормально задать переменные line1 и т.д.?


Используй лист (массив если по-простому)

>2. line4 выдает результат без перевода строки. Как исправить?


Добавляй куда надо "\n"

>Реально ли на питоне написать торрент-клиент


Думаю да, гугли либы
http://www.libtorrent.org/python_binding.html
#531 #513636
>>513630
Хотелось бы приватно, скриптов несколько штук, не очень получилось объединить в один, и не знаю даже что именно выкладывать.

Если кто сможет помочь - ivanmax3turbo
#532 #513640
>>513635

>Добавляй куда надо "\n"


Как добавлять-то? Он мне говорит про unexpected character на n.
#533 #513643
>>513640
>>513635
А все, понял. Благодарю.
#534 #513715
>>513636
упрости до пары десятков строк, которые всё равно выдают ошибку и не содержать инфы, которую тебе так не хочется показывать, и выкладывай.

>>513633
Ты закрыть файл забыл.
30 Кб, 203x201
164 Кб, 362x373
23 Кб, 933x413
71 Кб, 640x480
#535 #513720
Заебеньте уже перекат, питоны!
#536 #514001
>>513715

>упрости до пары десятков строк, которые всё равно выдают ошибку


Да я даже это не могу нормально сделать, лол.
#537 #514006
>>513636
Бампирую, оче нужна помощь. фейкоскайп - ivanmax3turbo оплата дохуя
#538 #514007
>>514006
быстрофикс ivanmax3turbo
#539 #514018
Отправляю пикчу
requests.post(server['upload_url'], files={'photo': open('img.jpg',"rb")})
но перед этим скачиваю пикчу с другого сервера, так вот, можно обойтись без сохранения/открытия пикчи в файл? передавая скачанные бинарные данные из urlopen('пикча') я сосу хуйца
#540 #514049
>>514018
Ты дурной какой-то.

>можно обойтись без сохранения/открытия пикчи в файл?


requests.post(server['upload_url'], files={'photo': requests.get(img).text})
Вообще хуй пойми, зачем ты ее сохраняешь, если она тебе не нужна.

Как ты думаешь, что происходит в результате:

>open('img.jpg',"rb")


>open


>rb


>read bytes


>READ BYTES



А в результате:

>requests.get(img).text



М?
#541 #514057
>>514049

>Ты дурной какой-то


Возможно.

>Вообще хуй пойми, зачем ты ее сохраняешь, если она тебе не нужна.


>Как ты думаешь, что происходит в результате:


Я же написал - передавая скачанные бинарные данные из urlopen('пикча') я сосу хуйца
Сервер не получает пикчу, с requests.get(img).text та же хуйня.
#542 #514066
>>513438
это потомственный велосипедист
36 Кб, 619x138
#543 #514105
>>514057
Если сервер там что-то не получает, значит ты что-то неправильно в процессе попытки передать туда данные из переменной.
Выделю для тебя: requests.get(img).text
#544 #514110
>>514057
Полагаю, проблема может быть в том, что ты пытаешь urlopen'овский HTTPResponse в request'вском аргументе "files" передать. Используй data же и передавай напрямую байты. Навреное, должно работать, лень пробовать.
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 9 августа 2015 года.

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

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