基于Skulpt在线Python解析器的简单使用

一、什么是Skulpt

Skulpt是一个运行在Web端的Python解析器,用于在Web端解析执行Python代码。

二、Skulpt的使用

1、下载地址

        https://github.com/skulpt/skulpt

2、编译

# 1、安装node.js

# 2、安装依赖项
    npm install

# 3、编译项目,在项目根目录会生成一个dist文件,里面包含 skulpt.min.js 和 skulpt-stdlib.js
    npm run dist

3、使用步骤

①  在html文件中引入生成的两个文件,注意两个文件的顺序不能调换!!!

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

② 配置

Sk.configure({
    // 配置使用Python3
    __future__: Sk.python3,
    // 配置输出信息
    output: function (text) {
      console.log(text);
    },
    read: function (filename) {
      if (Sk.builtinFiles === undefined ||
        Sk.builtinFiles["files"][filename] === undefined) {
        throw "File not found: '" + filename + "'";
      }
      return Sk.builtinFiles["files"][filename];
    }
});

③ 运行程序

// python代码
var prog = `import time\ntime.sleep(1)\nprint('执行完毕')`; 
// 返回一个Promise进行异步调用,执行死循环程序的时候会有问题,停不下来,后续需要解决如何停止异步调用
var myPromise = Sk.misceval.asyncToPromise(function() {
  return Sk.importMainWithBody("<stdin>", false, prog, true);
});
myPromise.then(function(mod) {
  console.log('程序执行完成!');
}, function(err) { 
  console.log(err.toString());
});

以上就是Skulpt解析器的简单使用,这个库还支持扩展,如果需要扩展自己的module,可以修改项目的源码,然后再次编译,后续会写一篇关于Skulpt解析器的扩展,敬请期待吧!!!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值