私は問題があります。
すべてのBrython 出力を<textarea>
要素にリダイレクトする必要があります。
これが私のHTMLファイルです。
<!DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/brython/3.8.8/brython.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/brython/3.8.8/brython_stdlib.js"></script>
</head>
<body onload="brython(1)">
<textarea id="console"></textarea>
<script type="text/python3">
print('test')
</script>
</body>
</html>
デフォルトでは、Brython のすべての出力 (sys.stdout および sys.stderr) がコンソールに送られることはわかっています。
私はこれを試しました:
<!DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/brython/3.8.8/brython.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/brython/3.8.8/brython_stdlib.js"></script>
</head>
<body onload="brython(1)">
<textarea id="console"></textarea>
<script type="text/python3">
from browser import document
import sys
sys.stdout = document['console']
</script>
<script type="text/python3">
print('test')
</script>
</body>
</html>
しかし、それは私に AttributeError を与えます。
Traceback (most recent call last):
module __main__2 line 1
print('test')
AttributeError: 'TEXTAREA' object has no attribute 'write'
print()
ユーザーがコードを入力すると、コードの結果が に出力されるため、を使用する必要があります<textarea>
。
例を検索しようとしましたが、何も見つかりませんでした。