为Pyyaml订购Yaml装载机和翻车机。

yamlloader的Python项目详细描述


https://travis-ci.org/Phynix/yamlloader.svg?branch=masterhttps://img.shields.io/pypi/pyversions/yamlloader.svgCode HealthDependency Statushttps://coveralls.io/repos/github/Phynix/yamlloader/badge.svg

yamlloader

此模块为pyyaml提供装载机和转储程序。目前,订购的ICT装载机/翻车机 实现,允许保持项目顺序 加载响应时将文件从OrderedDict转储到OrderedDict(Python3.7:还支持常规dict,并且是要加载到的默认项。从python 3.7开始,保留插入顺序是常规dict的一个语言特性。)

此项目最初是从 yamlordereddict 非常感谢原作者弗朗索瓦·梅纳贝! 这个库包含了一些改进,包括自动化测试和 装载机/自卸车更快的C版本。

API Documentation

安装

提供PIP和CONDA版本

$ pip install yamlloader

$ conda install yamlloader -c phynix  # it is also in conda-forge

但[你的特例]也有效吗?

使用随机生成的yaml文件连续运行测试。 此外,也没有不可预料的。

不过,如果你担心你的特例将来可能会破,请 在tests/下添加您自己的测试为test\u ext\u anyname.py,或者让我们知道您的需求。 这保证不会添加破坏your大小写的代码。

C版与非C版

通过用cloader替换loader*和dumper*类,可以实现显著的加速* 和泵*。这个包依赖于pyyaml的实现。如果他们没有 编译后,yamlloaderautomatically返回到非c版本。

因此使用c-version是安全的:如果它不可用,纯python版本是 自动使用。

用法示例

装载机使用

importyamlimportyamlloaderwithopen('myfile.yml')asyaml_file:data=yaml.load(yaml_file,Loader=yamlloader.ordereddict.CLoader)# CLoader is faster than Loader

注意:用于使用安全加载程序(它接受标准的yaml标记并执行 不构造任意python对象),将yamlloader.ordereddict.CLoader替换为 yamlloader.ordereddict.CSafeLoader

自卸车使用

importyamlimportyamlloaderfromcollectionsimportOrderedDictdata=OrderedDict([('key1','val1'),('key2',OrderedDict([('key21','val21'),('key22','val22')]))])withopen('myfile.yaml','w')asyaml_file:yaml.dump(data,yaml_file,Dumper=yamlloader.ordereddict.CDumper)

注意:用于使用安全转储程序(它生成标准的yaml标记并执行 不表示任意python对象),替换为yamlloader.ordereddict.CDumperyamlloader.ordereddict.CSafeDumper

常见问题解答

C版本不工作 检查是否存在青蒿素。如果不是,则在安装 山药。确保已安装cython(pip install cython),并且yaml.h文件是 在那里(apt:libyaml dev)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
二进制字符串的java NumberFormatExceprion   java如何在Neo4j中查找/匹配/选择标识符名称   java哪一年的日期与原始年份相同?   java什么时候JAXB可以用于Json而不是XML?   java使用PayPal权限API进行PayPal支付   java Getting error在使用安卓 vision api扫描二维码时加载图像失败   java直接突出显示RichTextFX中的一个文本范围   java Resolve@RegisteredAuth2AuthorizedClient,其令牌在spring Security 5.2的spring server之外获得。十、   yyyymmddhhmmss的Java正则表达式   java我试图将google recaptcha与spring mvc集成,但GreCaptCharResponse总是返回false。这里有一些代码   java使用JsonPath将文本转换为json   java无法解析符号。Maven依赖项已就位,但代码为红色   java使用循环查找范围内具有不同数字的数字   java这个SwingWorker是否不重用ThreadPoolExecutor中的线程?