Python 2.7 尝试在python中使用yaml.load失败

Python 2.7 尝试在python中使用yaml.load失败,python-2.7,yaml,pyyaml,Python 2.7,Yaml,Pyyaml,我试图理解yaml.load()的用法,但即使运行这个简单的代码,对我也不起作用: import yaml document = """ a: 1 b: c: 3 d: 4 """ print yaml.dump(yaml.load(document), default_flow_style=False) 执行此脚本时,会出现以下错误-AttributeError:“module”对象没有属性“dump” 此代码取自PyYAML文档() 我错过了什么?如何学习如何在Py

我试图理解
yaml.load()
的用法,但即使运行这个简单的代码,对我也不起作用:

import yaml
document = """
  a: 1
  b:
    c: 3
    d: 4
"""
print yaml.dump(yaml.load(document), default_flow_style=False)
执行此脚本时,会出现以下错误-
AttributeError:“module”对象没有属性“dump”

此代码取自PyYAML文档()


我错过了什么?如何学习如何在Python中使用YAML?

您调用了示例
YAML.py
,因此您的测试程序是使用
import YAML
语句导入的,它没有
dump
例程。 只需将您的
yaml.py
重命名为类似于
test\u yaml.py

您还应使用:

import sys

yaml.dump(yaml.load(document, sys.stdout, default_flow_style=False)
由于不提供流作为
dump()
的第二个参数,导致输出首先写入
StringIO()
对象,然后由该对象上的
.getvalue()
检索,然后写入
sys.stdout
。直接做后者更快