好吧,我正在玩pyYAML.我使用Windows安装程序安装了Python 2.7的版本.
它进口很好:
import yaml
Run Code Online (Sandbox Code Playgroud)
并且它不会抛出任何错误.
但是,如果我这样做:
import yaml
f = open("sets.yml")
dataMap = yaml.load(f)
f.close()
print dataMap
Run Code Online (Sandbox Code Playgroud)
它抛出一个属性错误,并说'module'对象没有属性'load'.
我尝试了转储,并得到了相同的东西.导入的内容也是如此:
from yaml import load
Run Code Online (Sandbox Code Playgroud)
有人有主意吗?
哦,而且,我认为这很奇怪 - 每当我运行脚本时,它就会创建一个.pyc.这是为什么?
小智 8
如果另一个名为yaml.py的文件位于sys.path之前,则在实际的PyYaml库之前,您将获取并导入该yaml.py文件.这包括您是否已将自己的文件命名为yaml.py.
你在目录中获得yaml.pyc的事实表明这正是你正在做的事情.您的import yaml语句正在您自己的yaml.py文件中加载,这会导致解释器将其编译为yaml.pyc以便更有效地运行.
重命名目录中的yaml.py文件.作为一般规则,不要将您正在使用的任何python文件命名为与您正在使用的任何现有python模块相同的名称.
| 归档时间: |
|
| 查看次数: |
9749 次 |
| 最近记录: |