Python exec kernel

依赖

  • 安装CodeLab Adapter
  • 安装Chrome 浏览器
    • 目前 Scratch 官方团队在陆续支持更多浏览器版本,现阶段使用 Firefox/Chrome 浏览器效果最佳.
    • 建议将其设为默认浏览器.

步骤 1:打开 Codelab Adapter

双击打开 Codelab Adapter。

Codelab Adapter 启动之后,将打开默认浏览器。

Python exec 插件不是内置插件,需要自行在插件市场下载。

execeval 更为强大(关于二者的区别参考这儿) ,可以执行任何 Python 代码,你甚至可以在 Scratch 里构建木马病毒。

步骤 2:打开 Codelab Scratch3

点击 Web UI 上的scratch3链接, 或者点击这儿, 将打开如下页面:

图中箭头所指的小圆点呈现绿色 说明 Codelab Adapter 与 Scratch3.0 的连接正常

步骤 3:hello world

选择对应的 Scratch3 插件:EIM.

在 Scratch 里使用 插件启停积木 启动 CodeLab Adapter Python exec 插件。

现在你可以运行任何Python代码了!

我们还是以打开浏览器为例, 可以直接运行:import webbrowser; webbrowser.open("https://www.codelab.club")import也是没问题的!

提醒

广播的主题是eim/extension_python_exec, extension_python_exec 正是插件的名字

延伸

python里能做的许多事情,现在你都可以在这个积木里做。让我们来做一些更复杂的事情。

让我们使用 Python 在Scratch里获取 CodeLab Adapter的最新版本,并让小猫🐱读出来

import requests
latest_version_url = "http://adapter.codelab.club/about/latest_version.json"
response = requests.get(latest_version_url).json()
print(response["version"])

我们首先需要把这些代码变成单行代码, 可以使用python single line convert来做:

点击convert,开始转化,转化之后得到: exec("""\nimport requests\nlatest_version_url = "http://adapter.codelab.club/about/latest_version.json"\nresponse = requests.get(latest_version_url).json()\nprint(response["version"])\n""")

运行它!

完美!

提醒

我们使用了一些奇技淫巧在Scratch里写大段 Python 代码, 仅仅是出于好玩和 because we can 的 geek 精神,通常更好的做法是将一些功能代码放在adapter 扩展文件里,而不是在Scratch 里写大段代码,那将是难以阅读和理解的。