ipython笔记本的山药魔法
yamlmagic的Python项目详细描述
an IPythonmagic for capturing data in YAML into a running IPython kernel.
安装
从命令行(或在笔记本单元格中使用!):
pip install yamlmagic
启用
特别
在笔记本中,您可以使用%load_ext或%reload_ext行 魔法。
%reload_extyamlmagic
配置
在您的配置文件的ipython_kernel_config.py中,您可以添加 以下行自动将yamlmagic加载到您的所有运行中 内核:
c.InteractiveShellApp.extensions=['yaml_magic']
使用
%%yaml单元格魔术将充当简单的解析器:
%%yamla_toplevel_key:1
<IPython.core.display.Javascript object>
{'a_toplevel_key': 1}
可以通过特殊的最后结果变量_:
_
{'a_toplevel_key': 1}
或者将用解析的文档更新命名变量:
%%yamlx-a:1b:2
<IPython.core.display.Javascript object>
x
[{'a': 1, 'b': 2}]
默认情况下,yaml.SafeLoader将被使用,这将不允许 powerful but dangerous (和不可运输的)`!python/ 标签<;http://pyyaml.org/wiki/PyYAMLDocumentation#YAMLtagsandPythontypes>;`。 如果要使用它们,请提供-l(或--loader)参数 通过一个局部变量使用一个BaseLoader子类…
fromyamlimportLoaderclassFooLoader(Loader):# some special things you have builtpass
%%yaml--loaderFooLoader-a:!!python/float1b:!!python/float2
<IPython.core.display.Javascript object>
[{'a': 1.0, 'b': 2.0}]
…或加载器的点符号路径:
%%yaml--loaderyaml.Loader-a:!!python/float1b:!!python/float2
<IPython.core.display.Javascript object>
[{'a': 1.0, 'b': 2.0}]
贡献
许可证
yamlmagic作为BSD 3-Clause license下的免费软件发布。
谢谢
- [@tonyfast](http://robclewley.github.io)询问此事
- [@robclewley](http://robclewley.github.io)用于文档屏蔽 模块中的要点