@python_beginnersЭта группа больше не существует

Страница 1620 из 1885
AbduCOM
15.04.2017
05:55:23
File "/home/user/www/posts/main.py", line 72 app.run(debug=True) ^ IndentationError: unindent does not match any outer indentation level

Ivan
15.04.2017
05:56:20
Это, можно же передать два параметра в функцию. Но ошибка у тебя связана с отступами.

Igor
15.04.2017
05:57:34
app.run(host='0.0.0.0', debug=True), если что)

Google
AbduCOM
15.04.2017
05:58:04
Да, всё =) Работает :)

cckfnn
15.04.2017
06:03:46
HELP! не могу въехать в декораторы, кто может объяснить? Была задача написать декортор, который принимает в cебя тип или набор типов, и проверяет что входные данные декориремой функции соттветствуют данной функции. def decorator(func): def wrapper(*args): for i in xrange(len(args)): print "type of input args", type(args[i]) res = func(*args) print "type of output args", type(res) return res return wrapper @timer @decorator def print_full_name(first_name, last_name): full_name = first_name + " " + last_name return full_name print print_full_name("Ivan", "Ivanov")

что я делаю не так?

Pavel
15.04.2017
06:14:02
что я делаю не так?
запускаешь код второго питона на третьем? не прописал декоратор @timer? держишь вилку в правой руке а нож в левой?

cckfnn
15.04.2017
06:14:52
таймер не учитывать

код второго на втором

Pavel
15.04.2017
06:15:21
значит четвёртая опция - не показываешь результат работы

cckfnn
15.04.2017
06:28:37
как передать аргументы декорируемой функции декоратору?

Pavel
15.04.2017
06:30:38
как передать аргументы декорируемой функции декоратору?
как ты думаешь, что такое args в твоём коде?

cckfnn
15.04.2017
06:31:41
да, но если декоратор будет со своим аргументом, то не могу поймать момент передачи дкорирумой функции

@decorator(str) def print_full_name(first_name, last_name): full_name = first_name + " " + str(last_name) return full_name print print_full_name("Ivan", 222)

str декоратору передается

Google
cckfnn
15.04.2017
06:32:20
а вот first_name и last_name передать не получается

вместо них передается функция

def decorator(arg): print arg print type('rtr') def wrapper(func, *args): print args print func return wrapper @decorator(str) def print_full_name(first_name, last_name): full_name = first_name + " " + str(last_name) return full_name print print_full_name("Ivan", 222)

Pavel
15.04.2017
06:34:32
декоратор - это сокращёная запись фот такой фигни: @decorator def func(): ... = func = decorator(func) Очевидно, что когда ты запускаешь func(), то функция decorator уже отработала и выполнение, вместе со всеми аргументами, ушло во внутреннюю функцию.

cckfnn
15.04.2017
06:35:05
в этом и вопрос, как их перехватить?

Pavel
15.04.2017
06:35:44
использовать во внутренней функции. внешняя функция отработала, всё, её поезд ушёл.

cckfnn
15.04.2017
06:37:09
то есть не получится никак сравнить аргуметы декоратора и аргументы декорируемой функции?

Pavel
15.04.2017
06:37:36
ты их можешь сохранить внутри декортатора и использовать во внутренней функции

cckfnn
15.04.2017
06:38:09
каким образом?

Pavel
15.04.2017
06:42:32
http://scottlobdell.me/2015/04/decorators-arguments-python/

AbduCOM
15.04.2017
06:49:07
Ребята, следующая задача ? Каким-то образом можно сделать так, чтобы приложение работало без портов в адресе?

cckfnn
15.04.2017
06:49:11
спасибо

AbduCOM
15.04.2017
06:51:19
Ребята, следующая задача ? Каким-то образом можно сделать так, чтобы приложение работало без портов в адресе?
Тут у меня установлен ssl и все запросы на порт 80 перенаправляются на 443. Когда пользуюсь этим port=443 в app.run() получаю ошибку socket.error: [Errno 98] Address already in use

придется дополнительный айпи купить :(

b0g3r
15.04.2017
07:01:27
а зачем тебе фласк пднимать по порту 443?

Pavel
15.04.2017
07:03:46
.net кстати, позволяет нескольким приложениям слушать один порт, если у них разные префиксы урлов

AbduCOM
15.04.2017
07:04:59
а зачем тебе фласк пднимать по порту 443?
Чтобы работал https://mysite.com/link Без всяких портов и длинных ссылок

b0g3r
15.04.2017
07:06:04
веб-сервер фласка в продакшн пускать такое себе, конечно

не хватает ещё пары посредников :)

Google
AbduCOM
15.04.2017
07:06:43
Что будет если на сервере два айпи адреса? Какой из них будет выбран в запуске программы?

Dezmunt
15.04.2017
07:21:03
Существует документация на русском?

Маришка
15.04.2017
07:21:34
Маришка
15.04.2017
07:22:07
Существует документация на русском?
Свежее англоязычной не будет доки в любом случае

AbduCOM
15.04.2017
07:22:47
Какой напишешь такой и будет выбран
Там сейчас 0.0.0.0 написан же. В скрипте ?

Dmitriy
15.04.2017
07:22:55
Значит все

b0g3r
15.04.2017
07:23:07
Существует документация на русском?
доки питона на русском нет

есть несколько очень плохих попыток

но на них лучше закрыть глаза и не вспоминать

AbduCOM
15.04.2017
07:24:00
Dmitriy
15.04.2017
07:24:15
М?
Все возможные адреса слушаются

AbduCOM
15.04.2017
07:24:45
Dmitriy
15.04.2017
07:27:00
Существует документация на русском?
Есть pythonworld, pythonicway и pythonz

Иван
15.04.2017
07:47:28
здравствуйте посоветуйте пожалуйста книгу или ресурс с которого стоит начать изучать Python

Set
15.04.2017
07:48:28


https://github.com/vinaypost/multiuploader

Google
Set
15.04.2017
07:48:53
кто нибудь сталкивался с такой проблемой

Иван
15.04.2017
07:49:01
спс

Маришка
15.04.2017
07:53:00
Там же явно написано чего не хватает...

Set
15.04.2017
08:10:26
TEMPLATE_CONTEXT_PROCESSORS не хватает

не знаю как его настроить

Maxim
15.04.2017
08:24:12
Ребят, может кто мои вьюхи к блогу глянуть пожалуйста? Нужно понять, что нормально написал или нет.

Sergey❄️
15.04.2017
09:16:57
А можно ли перезапускать скрипт из скрипта? Какой-нибудь os.exec(path/to/script.py)?

Маришка
15.04.2017
09:24:21
Зачем?

Sergey❄️
15.04.2017
09:24:33
Зачем?
Надо

:)

Просто мне нужна в нем возможность перезапуска при ошибке

Маришка
15.04.2017
09:25:41
Это решается оборачиванием куска кода в функцию который нужно перезапустить и отловкой данной ошибки через try except

Зачем костылить

Скрудж
15.04.2017
09:32:31
Зачем костылить
Чтобы разовый проект не переписывать

Ivan
15.04.2017
09:34:28
Чтобы разовый проект не переписывать
А что тут надо переписывать?

Sergey❄️
15.04.2017
09:34:37
У меня стоит это всё дело через try, но если получаю except, то смысла в дальнейшем выполнении программы нет

И я хочу перезапустить весь скрипт Ну или хотя бы эту функцию

John
15.04.2017
09:35:22
Просто мне нужна в нем возможность перезапуска при ошибке
А если извратиться и через subprocess запускать?

Google
Sergey❄️
15.04.2017
09:35:45
А если извратиться и через subprocess запускать?
Ну я и спрашиваю как не извращаться

Ivan
15.04.2017
09:35:56
Маришка выше тебе объяснила.

John
15.04.2017
09:36:02
Sergey❄️
15.04.2017
09:37:16
Try except это то понятно

Но а перезапускать как?

А если в except упадет?

Маришка
15.04.2017
09:38:05
В блоке except запустить эту функцию заново?

Sergey❄️
15.04.2017
09:38:25
Ааа

Да, точно

Маришка
15.04.2017
09:38:44
._.

Sergey❄️
15.04.2017
09:38:53
:)

Маришка
15.04.2017
09:39:23
"Аааа" и вот твои извращения решаются обычной логикой

Sergey❄️
15.04.2017
09:40:27
Да, можно было и побыстрее догадался не отлавливать Exception, а просто запустить еще разок

Спасибо)

Маришка
15.04.2017
09:42:00
Сейчас бы костыльно перезапускать скрипт вместо оборачивания куска кода в функцию и перезапуска его в скрипте пока не достиг нужного результат

Sergey❄️
15.04.2017
09:42:32
Ну не ругайся

Маришка
15.04.2017
09:43:10
Ругайся, не ругайся, но это самое очевидное в программировании

Страница 1620 из 1885

Эта группа больше не существует Эта группа больше не существует