第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將所有 Brython 輸出重定向到 textarea 元素

如何將所有 Brython 輸出重定向到 textarea 元素

胡子哥哥 2024-01-22 15:43:51
我有個問題。我需要將所有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)都會發(fā)送到控制臺。我試過這個:<!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>.我試圖尋找例子,但沒有找到。
查看完整描述

1 回答

?
慕后森

TA貢獻1802條經(jīng)驗 獲得超5個贊

原始sys.stdout有方法write()并print()用于sys.stdout.write()將文本發(fā)送到控制臺。


您必須創(chuàng)建也有方法的類write()并將該類分配給sys.stdout. 你write()可以輸入文字<textarea>


最小的工作示例。


<!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">

            import sys

            from browser import document


            class MyOutput:

                def __init__(self):

                    self.console = document["console"]


                def write(self, text):

                    self.console.text += text


            sys.stdout = MyOutput()


            print("Hello World 1")


            print("Hello World 2")


        </script>

    </body>

</html>


查看完整回答
反對 回復 2024-01-22
  • 1 回答
  • 0 關注
  • 149 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號