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

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

如何在網(wǎng)頁上以交互方式運(yùn)行 python 或 bash 腳本?

如何在網(wǎng)頁上以交互方式運(yùn)行 python 或 bash 腳本?

holdtom 2023-03-01 17:03:12
我正在建立一個(gè)網(wǎng)站,我想在我的網(wǎng)頁上顯示一個(gè)以交互方式運(yùn)行腳本(python 或 bash)的終端。有點(diǎn)像 trinket.io,但我想使用我服務(wù)器上的 python 解釋器或 bash,這樣我就可以安裝 pip 包并總體上控制腳本的各個(gè)方面。我在考慮類似交互式框架的東西,它顯示終端和其中執(zhí)行的內(nèi)容,obv 支持用戶交互。一個(gè)很好的例子是https://create.withcode.uk/,它正是我想要的,但我想用我自己的模塊和生態(tài)系統(tǒng)將它托管在我自己的服務(wù)器上。這在安全方面似乎也很不錯(cuò)。有沒有這樣的東西?
查看完整描述

2 回答

?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

如果我理解得很好,你會尋找一種機(jī)制,它允許你在網(wǎng)絡(luò)服務(wù)器上顯示一個(gè)終端。


然后你想在那個(gè)終端上運(yùn)行一個(gè)交互式 python 腳本,對吧。


所以最終共享一個(gè)終端的解決方案不一定要用python寫,對吧?(雖然我必須承認(rèn),如果我找到它們,我更喜歡 python 解決方案,但有時(shí)務(wù)實(shí)并不是一個(gè)壞主意)


您可能會在 google 上搜索 http 和終端仿真器。


也許 ttyd 符合要求。https://github.com/tsl0922/ttyd


在 Linux 上構(gòu)建可以用


sudo apt-get install build-essential cmake git libjson-c-dev libwebsockets-dev

git clone https://github.com/tsl0922/ttyd.git

cd ttyd && mkdir build && cd build

cmake ..

make && make install

用法類似于:ttyd -p 8888 yourpythonscript.py


然后你可以連接到網(wǎng)絡(luò)瀏覽器http://hostip:8888


您當(dāng)然可以將此 URL“隱藏”在反向代理后面并為其添加身份驗(yàn)證或添加諸如--credential username:password密碼保護(hù) URL 之類的選項(xiàng)。


附錄: 如果您想與不同的人共享多個(gè)腳本并且共享更像是一個(gè)即時(shí)的事情,那么您可以查看 tty-share ( https://github.com/elisescu/tty-share ) 和 tty-server ( https://github.com/elisescu/tty-server )


tty-server 可以在 docker 容器中運(yùn)行。tty-share 可用于在您的機(jī)器上的一個(gè)終端上運(yùn)行腳本。它會輸出一個(gè) url,你可以將它提供給你想要與之共享特定會話的人)如果你認(rèn)為這很有趣,我可能會詳細(xì)說明這個(gè)


查看完整回答
反對 回復(fù) 2023-03-01
?
長風(fēng)秋雁

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊

>> 在此插入安全免責(zé)聲明 <<


最簡單、最駭人聽聞的方法是創(chuàng)建一個(gè)div用于存儲輸出的元素和一個(gè)input用于輸入命令的元素。然后你可以將POST命令ajax到后端控制器。


控制器將接受命令并運(yùn)行它,同時(shí)捕獲命令的輸出并將其發(fā)送回網(wǎng)頁以在div


在 python 中,我使用它來捕獲命令輸出:


from subprocess import Popen, STDOUT, PIPE


proc = Popen(['ls', '-l'], stdout=PIPE, stderr=STDOUT, cwd='/working/directory')

proc.wait()

return proc.stdout.read()


查看完整回答
反對 回復(fù) 2023-03-01
  • 2 回答
  • 0 關(guān)注
  • 177 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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