【发布时间】:2016-05-07 23:39:46
【问题描述】:
这是我在这里的第一篇文章...
我正在尝试在 Hy(在 Python 3 上运行)中使用 assignment 更改 XML 元素。
当我尝试运行代码 sn-p:
(setv tco (BeautifulSoup "<meek/>" 'xml))
(setv (. tco meek name) "defl")
(print (. tco meek name))
;(assoc (. tco defl) "new" "value")
(.append (. tco meek) "Kool Stuff")
(print (.prettify tco))
我得到错误:
Traceback(最近一次调用最后一次):文件“/usr/bin/hy”,第 9 行,在 load_entry_point('hy==0.11.0', 'console_scripts', 'hy')() 文件“/usr/lib/python3/dist-packages/hy/cmdline.py”,第 347 行,在 hy_main sys.exit(cmdline_handler("hy", sys.argv)) 文件“/usr/lib/python3/dist-packages/hy/cmdline.py”,第 335 行,在 cmdline_handler return run_file(options.args[0]) 文件“/usr/lib/python3/dist-packages/hy/cmdline.py”,第 210 行,在 run_file import_file_to_module("main", filename) 文件“/usr/lib/python3/dist-packages/hy/importer.py”,第 78 行,在 import_file_to_module eval(ast_compile(_ast, fpath, "exec"), mod.dict) 文件“code-trace.hy”,第 196 行,在 (setv (.tco meek name) "defl") AttributeError: 'NoneType' object has no attribute 'name'
运行第二行注释:
(setv tco (BeautifulSoup "<meek/>" 'xml))
;(setv (. tco meek name) "defl")
(print (. tco meek name))
;(assoc (. tco defl) "new" "value")
(.append (. tco meek) "Kool Stuff")
(print (.prettify tco))
没有错误(必须使用代码而不是块引用进行标记,以便正确显示):
meek
<?xml version="1.0" encoding="utf-8"?>
<meek>
Kool Stuff
</meek>
请注意,这只是针对大型程序的一些测试代码。我也遇到了第 4 行评论的 assoc 的问题。
【问题讨论】:
标签: python python-3.x beautifulsoup hy