Brython и Python скрипт в браузере

Я пытаюсь использовать Brython. У меня есть скрипт Python (test.py), и я хотел бы отобразить результат этого скрипта в браузере.

Я пытался:

<html>
<head>
<script src="brython.js"></script>
</head>
<body onload="brython()">
<script type="text/python" src="test.py"></script>
</body>
</html>

и мой сценарий:

x = int(input("Value: "))
x = pow(x,2)
print("Result: " + str(x))

К сожалению, я не могу отобразить результат в браузере. Чего-то не хватает?

2 ответа

Решение

В Brython, print отображается в консоли браузера.

Если вы хотите записать результат в HTML-документе:

from browser import document

x = int(input("Value: "))
x = pow(x, 2)

document <= "Result: " + str(x)

[править] Другой вариант - установить sys.stdout к объекту с write() метод, например document в модуле браузера:

from browser import document
import sys

sys.stdout = document
print("Hello", "world !")

Добавьте id='fish' для тега, а затем перезапишите его в python:

<body id='fish' onload='brython()'>

а потом:

d = document['fish']
d.clear()
d <= "Result: %s" % str(x)

Обратите внимание, что сначала вам нужно вызвать элемент.clear (), <= такой же, как Javascript.appendChild (), см. Документацию: https://brython.info/static_doc/en/cookbook/content_in_div.html

Если вы хотите увидеть его на правильной странице XHTML, не заменяйте все тело, например, только один элемент / тег div. Или перезаписать все тело всеми необходимыми тегами XHTML.

Другие вопросы по тегам