1

私は問題があります。

すべての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>

例を検索しようとしましたが、何も見つかりませんでした。

4

1 に答える 1