Форум сайта python.su
Всем привет! Ребята, кто моет подсказать, как сделать переход на новую строку (carriage return) в python?
Я пытаюсь отправлять оповещения системы монитоирнга Nagios через Skype. Всё работает отлично, но хотелось бы более читабельный вид сообщений, чтобы тело сообщения было не в одну строку. Сейчас выглядет так (в скайпе):
RECOVERY Host: nagios-test Service: PING Info: PING OK 1.22ms
RECOVERY
Host: nagios-test
Service: PING
Info: PING OK 1.22ms
#!/bin/bash export DISPLAY=:0 PT=`which python` SKYPE_LOGIN=$1 SKYPE_MESSAGE="${@:2}" $PT /usr/local/nagios/sbin/skype_alert.py $SKYPE_LOGIN "$SKYPE_MESSAGE"
#!/usr/bin/python import Skype4Py import sys skype = Skype4Py.Skype() skype.Attach() user = sys.argv[1] msg=' '.join(sys.argv[2:]) skype.SendMessage(user, msg)
$ ]$ /usr/local/nagios/sbin/skype_alert.sh my_skype_login "RECOVERY\\n" "Host: nagios-test\\r" "Service: PING" "Info: PING OK 1.22ms"
RECOVERY\n Host: nagios-test\r Service: PING Info: PING OK 1.22ms
Отредактировано wh1te (Апрель 19, 2016 10:59:07)
Офлайн
А так
"RECOVERY \n Host: nagios-test \r Service: PING Info: PING OK 1.22ms"
Отредактировано ZerG (Апрель 19, 2016 10:57:05)
Офлайн
ZerG, спасибо за ответ)
Да, с этого всё начиналось. Делаю так:
$ /usr/local/nagios/sbin/skype_alert.sh my_skype_login "RECOVERY \n" "Host: nagios-test \r" "Service: PING" "Info: PING OK 1.22ms"
RECOVERY \n Host: nagios-test \r Service: PING Info: PING OK 1.22ms
ZerG
А так
“RECOVERY \n Host: nagios-test \r Service: PING Info: PING OK 1.22ms”
$ /usr/local/nagios/sbin/skype_alert.sh my_skype_login "RECOVERY \n Host: nagios-test \r Service: PING Info: PING OK 1.22ms"
RECOVERY \n Host: nagios-test \r Service: PING Info: PING OK 1.22ms
Отредактировано wh1te (Апрель 19, 2016 11:01:53)
Офлайн
# -*- coding:utf-8 -*- import sys myString = sys.argv[1] #decoded_string = bytes(myString, "utf-8").decode("unicode_escape") # python3 decoded_string = myString.decode('string_escape') # python 2 print (decoded_string)
Офлайн
FishHook
# -*- coding:utf-8 -*- import sys myString = sys.argv #decoded_string = bytes(myString, “utf-8”).decode(“unicode_escape”) # python3 decoded_string = myString.decode('string_escape') # python 2 print (decoded_string)
[nagios@uis-nagios libexec]$ python -V Python 2.6.6
#!/usr/bin/python import Skype4Py import sys skype = Skype4Py.Skype() skype.Attach() user = sys.argv[1] msg=' '.join(sys.argv[2:]) decoded_string = msg.decode('string_escape') print (decoded_string) skype.SendMessage(user, decoded_string)
$ /usr/local/nagios/sbin/skype_alert.sh y.kazakevich "RECOVERY\n" "Host: nagios-test\n" "Service: PING\n" "Info: PING OK 1.22ms\n"
RECOVERY
Host: nagios-test
Service: PING
Info: PING OK 1.22ms
Офлайн