如何在pyoide中运行python -m black
(或将Python代码作为black
的main
函数的输入以获得格式化的输出)
- Pyodide演示/gh>
我希望添加一个"Format"按钮放在"运行"旁边的底部。如何运行black
是问题。我可以用JavaScript设置textarea的内容。
我可以安装black-22.12.0-py3-none-any.whl
,因为它是一个纯Python车轮(以none-any.whl
结束)。
python -m <module>
将模块作为脚本运行:
- m模块名称
搜索系统。路径,并将相应的.py文件作为脚本运行。
Pyodide文档:
- 快速启动 API<
- JS API/gh>
可以在pyoide中运行任意Python代码并安装Python wheel。Pyodide也有一个虚拟文件系统。
也可以调用black
作为API,但在这种情况下,我如何安全地转义输入(由用户)?
python -m xxx
只是导入模块并像运行主程序一样运行它。因为黑色的__main__
部分只是说:
if __name__ == "__main__":
patched_main()
你可以这样模拟:
import black
black.patched_main()
runpy.run_module
API可以用来模拟python -m
,但在这种情况下,我认为你根本不需要它。