Ребят подскажите, я чайник в Python и во Flask, только только начинаю, как вывести Subprocess в браузер корректно?
К примеру пишу вот это
from app import app
import subprocess
@app.route('/')
@app.route('/index')
def index():
user = { 'nickname': 'MyName' }
p = subprocess.Popen("ping yandex.ru", stdout=subprocess.PIPE,)
out = p.communicate(str)
return '''
<html>
<head>
<title>MyFirstFlaskPage</title>
</head>
<body>
<h1>Hello, ''' + user['nickname'] + '''</h1>
<h1>Hello, ''' + out + '''</h1>
</body>
</html>
'''
Flask запускает сервер, но в браузере он показывает ошибку
builtins.TypeError
TypeError: Can't convert 'tuple' object to str implicitly
А если удалить все теги html, то в браузере вывод корректный только всё в одну полосу :(
from app import app
import subprocess
@app.route('/')
@app.route('/index')
def index():
#user = { 'nickname': 'Ivan' }
p = subprocess.Popen("ping yandex.ru", stdout=subprocess.PIPE,)
out = p.communicate(str)
return out
вывод в браузере в
одну строку:
Pinging yandex.ru [5.255.255.55] with 32 bytes of data: Reply from 5.255.255.55: bytes=32 time=2ms TTL=53 Reply from 5.255.255.55: bytes=32 time=2ms TTL=53 Reply from 5.255.255.55: bytes=32 time=2ms TTL=53 Reply from 5.255.255.55: bytes=32 time=2ms TTL=53 Ping statistics for 5.255.255.55: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 2ms, Maximum = 2ms, Average = 2ms
А хочется, чтобы было так же как и в терминале всё красиво по столбцам.
1-й вопрос в первом примере, что не правильно?
2-й вопрос как вывести корректный структурированный вывод?
Спасибо!