Уведомления

Группа в Telegram: @pythonsu

#1 Июль 29, 2015 15:53:34

darksmoke
Зарегистрирован: 2014-10-03
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача аргумента из консоли в функцию

Добрый день

Подскажите, пожалуйста:
1. Как из консоли передать аргумент в скрипт? (например: test.py show) И что бы программа вызвала функцию.
2. Как из консоли передать значения в функцию? (например: test.py show 23 15)
3. Делаю так

pipe = Popen(['curl', '-i', '-u', 'admin:pass', 'http://localhost:15672/api/vhosts'], stdout=PIPE)
curl_json = pipe.communicate()[0]
print curl_json
Получаю
$ ./rabbitmonitor.py
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
102 1632 102 1632 0 0 354k 0 –:–:– –:–:– –:–:– 531k
HTTP/1.1 200 OK
Server: MochiWeb/1.1 WebMachine/1.10.0 (never breaks eye contact)
Date: Wed, 29 Jul 2015 12:52:00 GMT
Content-Type: application/json
Content-Length: 1632
Cache-Control: no-cache



Поитогу хочу получить в переменную только json без лишнего, не могу понять как сделть ((
Может можно обойтись как то без вызова bash curl?

Вот таких 3 вопроса от новичка.
Спасибо всем откликнувшимся.

Отредактировано darksmoke (Июль 29, 2015 15:54:13)

Офлайн

#2 Июль 29, 2015 16:14:45

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Передача аргумента из консоли в функцию

darksmoke
1. Как из консоли передать аргумент в скрипт? (например: test.py show) И что бы программа вызвала функцию.
В sys.argv они хранятся.

darksmoke
2. Как из консоли передать значения в функцию? (например: test.py show 23 15)
Более сложные конструкции лучше разбирать через argparse.

darksmoke
Поитогу хочу получить в переменную только json без лишнего
Заголовки включаются из-за -i.



Офлайн

#3 Июль 30, 2015 08:57:12

darksmoke
Зарегистрирован: 2014-10-03
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача аргумента из консоли в функцию

Спасибо больлшое.

Офлайн

#4 Июль 30, 2015 12:49:56

darksmoke
Зарегистрирован: 2014-10-03
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача аргумента из консоли в функцию

а как можно отключить или убрать вывод процента загрузки?

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
102 1632 102 1632 0 0 422k 0 –:–:– –:–:– –:–:– 531k

Офлайн

#5 Июль 30, 2015 12:58:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Передача аргумента из консоли в функцию

darksmoke
а как можно отключить или убрать вывод процента загрузки?
Через -s.



Офлайн

#6 Июль 30, 2015 15:02:17

darksmoke
Зарегистрирован: 2014-10-03
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача аргумента из консоли в функцию

Супер!! Но блин он общий объем все равно выводит ((

./rabbitmqmonitor.py vhost
4807124
{“data”:[
{“{#NAME}”:“/”},
{“{#NAME}”:“/biplan”},
{“{#NAME}”:“/goldengate”},
]}
А мен что бы только JSON выводился без лишнего я его в Zabbix дальше отправлять хочу

Офлайн

#7 Июль 30, 2015 15:39:48

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Передача аргумента из консоли в функцию

darksmoke
Но блин он общий объем все равно выводит

>>> from subprocess import Popen, PIPE
>>> 
>>> p = Popen(['curl', '-s', 'http://mirrors.se.kernel.org/gentoo//releases/x86/20140826/livedvd-x86-amd64-32ul-20140826.iso.CONTENTS-squashfs.gz'], stdout=PIPE)
>>> stdout = p.communicate()[0]
>>> stdout[:100]
'\x1f\x8b\x08\x00S\xd0\xfaS\x02\x03\xb4]]o\xe38\xb2}\xef_\xa1\xc7{\x81\x91\xcdoQy\xb8\xc0\xdc\x9d\xc1b\xb1\xd3w\x163X\xec\xbe\x05\xb2D\xdb\x1a\xcb\x92F\x94\xe2\xa4\x7f\xfd\xa5d\xc7\xf1\x87\x1c\x1d\xba\xbdA\xe0N\xdc\xdd\xa7\x8a\xc5:\xc5\xaa"-\xfe#i\x92\xa20E\xd0\x95\xf6\xcf.\xb1\xeb\xa5}\n\xfei\xf3r\x15'
>>>

У меня не выводит.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version