当前位置: 移动技术网 > IT编程>脚本编程>Python > Skulpt在线模拟运行Python工具

Skulpt在线模拟运行Python工具

2019年09月28日  | 移动技术网IT编程  | 我要评论

轻资产,李燕菜,宁波邮编

1. skulpt是一个完全依靠浏览器端模拟实现python运行的工具

2. 不需要预处理、插件或服务器端支持,只需编写python并重新载入即可。

3. 由于代码完全是在浏览器中运行的,所以不必担心“服务器崩溃”问题。

github:

 

demo:

<html> 
<head> 

<script src="dist/skulpt.min.js" type="text/javascript"></script> 
<script src="dist/skulpt-stdlib.js" type="text/javascript"></script> 

</head> 

<body> 

<script type="text/javascript"> 

function outf(text) { 
    var mypre = document.getelementbyid("output"); 
    mypre.innerhtml = mypre.innerhtml + text; 
} 
function builtinread(x) {
    if (sk.builtinfiles === undefined || sk.builtinfiles["files"][x] === undefined)
            throw "file not found: '" + x + "'";
    return sk.builtinfiles["files"][x];
}
function runit() { 
   var prog = document.getelementbyid("yourcode").value; 
   var mypre = document.getelementbyid("output"); 
   mypre.innerhtml = ''; 
   sk.pre = "output";
    sk.configure({ output: outf, read: builtinread, __future__: sk.python3}); 

   (sk.turtlegraphics || (sk.turtlegraphics = {})).target = 'mycanvas';
   var mypromise = sk.misceval.asynctopromise(function() {
       return sk.importmainwithbody("<stdin>", false, prog, true);
   });

   mypromise.then(function(mod) {
       console.log('success');
   },
       function(err) {
       console.log(err.tostring());
   });
} 
</script> 

<h3>try this</h3> 
<form> 
<textarea id="yourcode" cols="80" rows="10">
import turtle
print('hello')
t = turtle.turtle()
t.color('red')
t.forward(75)
</textarea><br />
<button type="button" onclick="runit()">run</button> 
</form> 
<pre id="output" ></pre> 
<div id="mycanvas"></div>

</body> 

</html> 

  

 

 

但是,有的问题,不能识别eval函数,不知道为什么?

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网