@ru_python

Страница 1884 из 9768
exec
07.12.2016
21:15:05
сказали, тип, сымитироввть работу шелла, добавить кастомные ф-ии, и написать как можно меньше строк кода

И цель какая была?

Google
Stanislav
07.12.2016
21:15:39
меньше строк кода не означает что не нужно было ЕНТЕР ЮЗАТЬ

exec
07.12.2016
21:15:39
знаю, что выглядит отвратно

Stanislav
07.12.2016
21:15:53
а означало что НЕ БЫДЛОКОДИТЬ

exec
07.12.2016
21:16:25
сказали, мол, нужно уместить в 10 строк

получилось 11

да

exec
07.12.2016
21:17:25
это хаки :DD

а означало что НЕ БЫДЛОКОДИТЬ

Stanislav
07.12.2016
21:17:41
какахи

Arseniy
07.12.2016
21:17:47
или тебе только stdlib?

Roman
07.12.2016
21:17:50
сказали, мол, нужно уместить в 10 строк
Пфф, берешь и выносишь все во внешний модуль, его в gzip и в base64.

Google
Aeterna
07.12.2016
21:17:58
О, точно. Можно сделать не бесконечный цикл, а рекурсию main() Это уберёт одну строчку по идее

exec
07.12.2016
21:18:03
не, так не прокатит

тут нужно всё сделать в одном файле

Roman
07.12.2016
21:20:09
тут нужно всё сделать в одном файле
Так говорю же: пожать zlib и в base64. Будет одна длинная строка

exec
07.12.2016
21:20:49
сейчас попробую, всем спасибо за советы :)

Aeterna
07.12.2016
21:21:22
А вообще интересно, что будет, если в эту строку ввести что-то вроде > main

exec
07.12.2016
21:22:04
сейчас :D

ничего

Victor
07.12.2016
21:26:40
Pep8 рыдает

exec
07.12.2016
21:35:46
согласен. а как бы вы написали схожее в 10 строчек, соблюдая pep8? очень интересно)

Pep8 рыдает

dmks
07.12.2016
21:35:54
не, так не прокатит
os.system("/bin/bash")?

exec
07.12.2016
21:36:03
зачем усложнять?

system(любая команда баша)

dmks
07.12.2016
21:36:25
коротко,ясно, понятно, даже работать должно

exec
07.12.2016
21:36:38
и так работает же)

dmks
07.12.2016
21:36:39
тебе же командная строка нужна :D

Aeterna
07.12.2016
21:37:31
просто exit()

в командную строку

exec
07.12.2016
21:38:57
exit() не подойдет

Google
Victor
07.12.2016
21:39:39
Я не понимаю смысла задачи. Строки не стали, вроде, дефицитным рессурсом. Постановка глючная

exec
07.12.2016
21:39:44
нужно, чтобы это было также кастомной функцией. такие условия

чем плох мой код, если не считать 5-ую строку?)

даже не так, поставлю вопрос иначе: как минимизировать try..catch в одну строку без exec?

Aeterna
07.12.2016
21:41:44
вообще запостил бы исходники

Victor
07.12.2016
21:42:25
Все функции лямбда выражениями сделать и через ; записать

-2 строки

exec
07.12.2016
21:44:54
спасибо за совет с лямбдами)

Victor
07.12.2016
21:45:54
Надеюсь, стало еще отвратительнее))))

Пожалуйста

Aeterna
07.12.2016
21:46:08
кстати a = dict(hello=lambda x: print(x)) a['hello'](5)

exec
07.12.2016
21:46:24
да, стало еще лучше :DDD

exec
07.12.2016
21:46:36
как отлавливать ошибку?

Aeterna
07.12.2016
21:46:37
теперь я знаю ещё один антипаттерн

exec
07.12.2016
21:46:51
какой?)

b0g3r
07.12.2016
21:46:55
isdir()

зачем отлавливать ошибку?

exec
07.12.2016
21:47:02
лямбды изначально — антипаттерн)

Google
Aeterna
07.12.2016
21:47:56
всегда забавляют люди, которые делают такие категоричные заявления, не являясь экспертами

где же вы такие растёте

Levent
07.12.2016
21:50:13
wtf is it?

b0g3r
07.12.2016
21:51:13
python enchancement proposals

Victor
07.12.2016
21:53:37
Еще жирная идея есть

exec
07.12.2016
21:54:19
какая?

Victor
07.12.2016
21:54:42
Функцию main oбернуть в скобки и записать в одну строку через \n

exec
07.12.2016
21:54:45
можешь объяснить?

Admin
ERROR: S client not available

exec
07.12.2016
21:54:45
кстати a = dict(hello=lambda x: print(x)) a['hello'](5)

Victor
07.12.2016
21:54:58
И Exec ее

exec
07.12.2016
21:55:20
только хотел написать

нужно избавляться от exec

я от того избавился :D

Victor
07.12.2016
21:55:48
Хм

exec
07.12.2016
21:56:25
теперь бы другие строки так же переделать «по канонам гуру». тут дело даже больше в интересе.

b0g3r
07.12.2016
21:56:29
а надо ли функцию main вообще?

exec
07.12.2016
21:56:44
не думаю, что это должно импортиться

поэтому, мб, убрать?

Google
b0g3r
07.12.2016
21:57:15
я бы убрал, раз уж тут академический такой интерес

это -2 строчки

можешь объяснить?
в словаре хранишь лямбда функции, потом вызываешь их

Nikolay
07.12.2016
21:58:35
как роутинг в джанге

:<)

внутрях

Victor
07.12.2016
21:58:57
Кстати,да

exec
07.12.2016
21:59:00
спасибо, понял

b0g3r
07.12.2016
21:59:05
ну и exit() не нужен, думаю здесь

Aeterna
07.12.2016
22:00:07
Тогда можно сделать ещё лучше. В словаре храним словари В каждом подсловаре например 'desc' - описание и 'func' - функция

b0g3r
07.12.2016
22:00:24
exit() - питонячая функция из коробки

Levent
07.12.2016
22:00:51
b0g3r
07.12.2016
22:01:10
А есть перезапуск?
https://docs.python.org/3/library/functions.html

Levent
07.12.2016
22:01:11
хочу чтобы файл полностью перезагружался каждый раз без всяких циклов

exec
07.12.2016
22:01:24
как это минимизировать?

Levent
07.12.2016
22:01:33
%s?

exec
07.12.2016
22:01:40
ну строка

Levent
07.12.2016
22:01:45
{} + .format

у меня по крайней мере так используется

Victor
07.12.2016
22:01:57
тогда типа dictionary["exit"]() так вызывать?

Страница 1884 из 9768