Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 1, 2016 14:45:53

Orgi
Зарегистрирован: 2016-02-01
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск программы

Здравствуйте.
Скажите пожалуйста, как добавить к subprocess еще один запрос?
Сижу на linux, в запускаю через питон программу “geth”, она консольная и работает в терминале.
После ее запуска, мне необходимо получить от нее параметры вот такой командой “web3.fromWei(eth.getBalance(eth.coinbase), ”ether“);”.
Мне предлагается ввести эту команду после указателя “>” руками. Как водить ее автоматически средствами питона? т.е прописать ее в коде.
Прочитал про subprocess communicate, но так и не понял как его использовать.
Спасибо.

#!/usr/bin/env python3
terminal = 'geth --genesis /home/georg/genesis/genesis.json --datadir /home/georg/node1 --networkid 243 --nodiscover --maxpeers 10 --port "30303" console'
import subprocess
PIPE = subprocess.PIPE
p = subprocess.Popen(terminal, shell = True)
p.wait()

Прикреплённый файлы:
attachment a1kFVWOfKZ0.jpg (117,0 KБ)

Офлайн

#2 Фев. 2, 2016 11:44:49

gmorgunov
От:
Зарегистрирован: 2008-10-15
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск программы

Привет.
Как я понял, вам надо реализовать конвейер команд на питоне с использованием communicate.
Проверьте в терминале:
# geth –genesis /home/georg/genesis/genesis.json –datadir /home/georg/node1 –networkid 243 –nodiscover –maxpeers 10 –port “30303” | web3.fromWei(eth.getBalance(eth.coinbase), “ether”);
Реализация на python 2.7

#!/usr/bin/env python

import subprocess
command1='geth --genesis /home/georg/genesis/genesis.json --datadir /home/georg/node1 --networkid 243 --nodiscover --maxpeers 10 --port "30303" console '
command2='web3.fromWei(eth.getBalance(eth.coinbase), "ether"); '
p1=subprocess.Popen(command1, shell=True, stdout=subprocess.PIPE)
p2=subprocess.Popen(command2, shell=True, stdin=subprocess.PIPE)
p2.communicate(p1.stdout.read())



Отредактировано gmorgunov (Фев. 2, 2016 11:58:20)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version