这是我第一次发帖...
我正在尝试使用Hy(在 Python 3 上运行)中的赋值来更改 XML 元素。
当我尝试运行代码片段时:
(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))
我得到错误:
回溯(最后一次调用):文件“/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 返回 run_file(options.args[0]) 文件 "/usr/lib/python3/dist-packages/hy/cmdline.py",第 210 行,在 run_file import_file_to_module(" main ",文件名) 文件 "/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 行,in (setv (.tco meek name) "defl") AttributeError: 'NoneType' 对象没有属性 '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的问题。