在网站上的<div>中使用I / O托管Python脚本

时间:2018-09-10 20:47:47

标签: python html terminal

我的目标非常简单,我编写了一个python 3脚本,该脚本在工作场所的ubuntu服务器上运行。目前,我(和其他用户)必须在我们想要运行该脚本的任何时候都通过SSH进入此ubuntu框,从方便和安全的角度来看,随着越来越多的用户变得混乱不堪。因此,老板希望我创建一个基于网页的漂亮GUI来访问此脚本和我编写的其他一些类似脚本。

这似乎是很简单的事情,但是困难在于细节-该脚本用于查看和编辑记录,因此它与用户进行了很多来回通信(使用input() )以及屏幕清除和如下代码:

sys.stdout.write("\033[F") #back to previous line
sys.stdout.write("\033[K") #clear line

...在一个终端内保持物品清洁。

当然,如果绝对需要,我可以修改脚本以接受不同格式的输入,并以更便于html调用的方法输出,而无需清除行和屏幕,但这对于重新编写整个脚本将是非常繁琐的工作。所以-我的问题是,对我的书面代码进行最小程度的修改后,实现我所追求的目标的最佳方法是什么?理想情况下,该网页将只包含一个容器,该容器包含一个类似于终端的图形,该图形可以处理所选脚本的所有输入和输出,就好像它正在通过完整的胖终端运行一样。

我已经研究过的东西包括基本的python Web框架(例如CGI或mod_wsgi),或者python包(例如flask),但是-如果我错了,请纠正我-似乎没有一种处理常量的好方法这些脚本中的输入,更不用说我用于清除行和屏幕的面向终端的清除了。

我还研究了仅在网页上托管一个完整的终端的方法,除了安全性问题外,这似乎是最接近的解决方案-使用ajaxterm之类的东西(现在似乎已经过时了?)或wetty。我对此的主要担心是,这并不比仅使用SSH容易。除非我可以修改终端以自动登录并通过按下网页上的按钮自动启动特定的脚本,否则这将仅仅是对腻子的美化。

关于如何实现此目标的任何建议?

0 个答案:

没有答案