【发布时间】:2022-01-04 15:25:44
【问题描述】:
根据对这个 SO question 的回答,我应该使用 safe_dump 而不是 dump 来删除不需要的标签,例如 !!python/unicode,但它对我不起作用。
在我个人的情况下,不需要的标签是!!python/object:module_example.items.ExampleItem,还添加了一个字典键_values。所有这一切可能是因为我使用的是scrapy,而我的item dict 是通过ExampleItem 类创建的。
代码如下:
import yaml
yaml.dump({'obj': item}, outfile)
# using safe_dump gives an empty output
当前输出:
obj: !!python/object:module_example.items.ExampleItem
_values:
first_name: 'foo'
last_name: 'bar'
想要的输出:
obj:
first_name: 'foo'
last_name: 'bar'
如何去掉那些标签?
【问题讨论】:
-
请出示您的代码。使用 Python3,您永远不会收到
!!python/unicode。 -
@flyx 我将问题编辑得更准确
标签: python-3.x scrapy yaml tags pyyaml