![]() |
玩足球的芒果 · TIOBE 12月榜单: C# ...· 2 周前 · |
![]() |
文质彬彬的大象 · 2020年3月TIOBE编程语言排行榜来了! ...· 2 周前 · |
![]() |
怕考试的日记本 · MATLAB的内存不足但不应该 - · 2 周前 · |
![]() |
乖乖的夕阳 · matlab内存不足的解决方法:五种方法,快 ...· 2 周前 · |
![]() |
直爽的荔枝 · php点击复制链接,php怎么点击复制· 1 周前 · |
![]() |
眼睛小的铅笔 · 揭晓设计的奥秘——小米生态链设计总监李宁宁专 ...· 3 月前 · |
![]() |
踢足球的酸菜鱼 · 触摸现在,触进未来 – – ...· 8 月前 · |
![]() |
不爱学习的钥匙扣 · 筑龙网园林工程造价0基础快速入门及案例实操班 ...· 11 月前 · |
![]() |
善良的手电筒 · 可能是最强网工ansible入门及深入教程之 ...· 1 年前 · |
![]() |
有爱心的杯子 · 不会选车怎么办?这份新能源车选车指南值得收藏 ...· 1 年前 · |
我有许多python脚本保存在我的计算机上,出于好奇,我创建了一个只有一个按钮的html文件。而是进入终端并运行python ,我希望当单击该按钮时,它将启动我的python脚本之一。这是可能的吗/怎么做呢?
出于示例目的,我们将调用要运行的脚本MYSCRIPT.py..。我做了一点研究,但没有任何有希望的东西。我知道下面的代码是不正确的,但这只是一个起点,这里是我的html文件。
这将需要后端网站语言的知识。
幸运的是,Python的烧瓶库是一种适用于手头项目的后端语言。
查看这个答案从另一个线程。
由于您要求提供一种方法来在HTML我正在回答这个问题。我觉得没有必要提及与此相关的严重警告和影响。我相信你知道你的.py脚本比我做得更好:-)
我将使用.ajax()函数中的jQuery库。这将允许您调用您的Python脚本只要脚本位于可公开访问的html目录中..。也就是说,这是我要告诉你注意安全预防措施的部分。
function goPython(){
$.ajax({
url: "MYSCRIPT.py",
context: document.body
}).done(function() {
alert('finished python script');;
}
另外..值得注意的是,您的脚本必须具有适当的权限,例如,www-data用户能够运行它...Achmod和/或chown可能是有必要的。
这是令人沮丧和有问题的,但却是可行的。你需要的是一个自定义的URI方案。你需要在你的机器上注册和配置它,然后将一个带有该方案的url挂到按钮上。
URI方案是前面的部分://在URI中。例如,标准URI方案https或者ftp或者file..。但也有像fx这样的习惯。mongodb..。你需要的是你自己的。mypythonscript..。它可以被配置为执行脚本,或者仅仅是python,在参数中加上脚本名等等。当然,这是灵活性和安全性之间的折衷。
您可以在以下链接中找到更多详细信息:
https://support.shotgunsoftware.com/hc/en-us/articles/219031308-Launching-applications-using-custom-browser-protocols
https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
(https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85%29.aspx)
编辑:添加了有关自定义方案的更多详细信息。
我已经在Windows上做到了这一点。我有一个本地.html页面,我将其用作当前所有工作的“仪表板”。除了通常的链接,我已经能够添加可点击的链接,打开MS-Word文档,Excel电子表格,打开我的IDE,ssh到服务器等。
首先,更新Windows注册表。你的浏览器可以处理像http,https,ftp这样的常用协议。您可以定义自己的协议和单击该协议类型的链接时要调用的处理程序。这是配置(使用运行regedit)
[HKEY_CLASSES_ROOT\mydb]
@="URL:MyDB Document"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\mydb\shell]
@="open"
[HKEY_CLASSES_ROOT\mydb\shell\open]
[HKEY_CLASSES_ROOT\mydb\shell\open\command]
@="wscript C:\_opt\Dashboard\Dashboard.vbs \"%1\""
有了这个,当我有一个像这样的链接
ProjectX
,单击它将调用C:\_opt\Dashboard\Dashboard.vbs将命令行参数传递给它open:ProjectX.docx
..。我的VBS代码查看这个参数并执行必要的操作(在本例中,因为它以.docx结尾,所以它调用MS-Word时使用ProjectX.docx作为它的参数。
现在,我用VBS编写了我的处理程序,因为它是非常旧的代码(比如15+年份)。我还没有尝试过,但是您可以编写一个Python处理程序,Dashboard.py,而不是。我会让你来写你自己的处理程序。对于您的脚本,您的链接可以是
href="mydb:runpy:whatever.py"(runpy:前缀告诉您的句柄使用Python运行)。
有各种各样的方法可以做到这一点,非常简单的技术,在安全的头脑中,这里可能会帮助你
1.首先,您需要安装烧瓶
pip install flask
在您的命令提示符中,这是一个python微框架,不要害怕您需要另一个先验知识来学习它,它真的很简单,只有几行代码。
如果你希望你能快速的学习Flask,对于完全的新手来说,这里有一个教程,我也可以从中学到一些东西。初学者烧瓶教程(YouTube)
2.创建新文件夹
第一个文件将是server.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/my-link/')
def my_link():
print ('I got clicked!')
return 'Click.'
if __name__ == '__main__':
app.run(debug=True)
-2在前一个文件夹中创建另一个子文件夹,并将其命名为模板文件将是您的html文件。
index.html
Test
My Website
Click me
3...。若要运行,请打开命令提示符,进入新建文件夹目录,键入python server.py来运行脚本,然后转到浏览器,输入localhost:5000,然后您将看到按钮。您可以单击并路由到您创建的目标脚本文件。
希望这对你有所帮助。谢谢你。