一、编写你的python代码
我们就先写一个简单的吧(这个能让你很容易地看到效果),命名为test2.py,写入代码:
import os
file = open('new_file' + '.txt','w')
file.close()
注意:这一步在测试1中不用
二、编写你的HTML代码
完整代码在后面,这里是方法介绍。其中的重点部分在于java脚本中写的一个函数(function exec1),你不用改,后面调用了这个函数。你只需要修改你需要执行的文件名,下面就是调用的方法:
exec1('python hello.py')
# 括号内的意义是 用 python 来执行 hello.py 这个文件,!注意python是已经添加到环境变量了的。
# 执行python程序一般有两个exe方法,一个是直接的python,另一种是pythonw,两者的区别是:用python执行会先打开一个命令行的黑窗,而pythonw不会弹出黑窗(比如你要执行一个输出的程序,就没法显示出来了)
# or use this
exec1('cmd')
# 括号内的意义是 直接执行 cmd 这个可执行文件。同理你把python文件打包成exe文件也是可以直接采用这种方法的。
测试1完整代码在这里,新建一个html文件,命名test1.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script language="javascript">
function exec1(command)
{
var ws = new ActiveXObject("WScript.Shell");
ws.run(command);
}
</script>
</head>
<body>
<div id="header">
<h1>打开python命令行</h1>
</div>
<div id="nav1">
打开python命令行(方式1)
<button onclick="exec1('python')">运行 python</button>
</div>
<div id="nav2">
打开python命令行(方式2)
<input type="button" value="运行 python" onclick="exec1('python')" />
</div>
</body>
</html>
测试2完整代码在这里, 命名test2.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script language="javascript">
function exec1(command)
{
var ws = new ActiveXObject("WScript.Shell");
ws.run(command);
}
</script>
</head>
<body>
<div id="header">
<h1>运行python</h1>
</div>
<div id="nav1">
执行test2程序(方式1)
<button onclick="exec1('python test2.py')">运行 python</button>
</div>
<div id="nav2">
执行test2程序(方式2)
<input type="button" value="运行 python" onclick="exec1('python test2.py')" />
</div>
</body>
</html>
三、测试
1、首先测试ActiveX使用正常!只需要HTML文件,不需要python文件,存放位置也随意。
chrome浏览器看步骤①~⑤(5步);ie浏览器看步骤⑥~⑨(4步)
①在chrome拓展程序中安装一个名为IE TAB的拓展程序
②用chrome浏览器打开test1.html文件
③点击右上角IE Tab启动IE内核,启动IE TAB后会弹出这个警告,你需要点击同意
④点击网页界面中的运行代码的button,还会弹出一个警告,你也需要点“是”
⑤最后弹出下面这样的python的命令行黑框就验证成功了!
⑨最后弹出下面这样的python的命令行黑框就验证成功了!
2、完整测试
①将第一步中的test2.py文件和第二步中的test2.html文件准备好
②使用chrome,在启动IE Tab后,会在本地产生一个文件夹,我的是在C:\Users\Jerry\AppData\Local\IE Tab\11.4.23.1,找到类似这样一个目录,把①准备好的python和html文件复制进去
③使用ie,把①准备好的python和html文件放在桌面上
④重复前面类似操作
如果在对应的的地址下新建了一个new_file.txt的文件就说明验证成功了。