Python exec kernel¶
依赖¶
- 安装CodeLab Adapter
- 安装Chrome 浏览器
- 目前 Scratch 官方团队在陆续支持更多浏览器版本,现阶段使用 Firefox/Chrome 浏览器效果最佳.
- 建议将其设为默认浏览器.
步骤 1:打开 Codelab Adapter¶
双击打开 Codelab Adapter。
Codelab Adapter 启动之后,将打开默认浏览器。
Python exec 插件不是内置插件,需要自行在插件市场下载。
exec 比 eval 更为强大(关于二者的区别参考这儿) ,可以执行任何 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 里写大段代码,那将是难以阅读和理解的。