Это мой первый пост здесь ...Как изменить имя тега XML в Hy?
Я пытаюсь изменить элемент XML с помощью assignment в Hy (работает на Python 3).
Когда я пытаюсь запустить фрагмент кода:
(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 (most recent call last): File "/usr/bin/hy", line 9, in load_entry_point('hy==0.11.0', 'console_scripts', 'hy')() File "/usr/lib/python3/dist-packages/hy/cmdline.py", line 347, in hy_main sys.exit(cmdline_handler("hy", sys.argv)) File "/usr/lib/python3/dist-packages/hy/cmdline.py", line 335, in cmdline_handler return run_file(options.args[0]) File "/usr/lib/python3/dist-packages/hy/cmdline.py", line 210, in run_file import_file_to_module("main", filename) File "/usr/lib/python3/dist-packages/hy/importer.py", line 78, in import_file_to_module eval(ast_compile(_ast, fpath, "exec"), mod.dict) File "code-trace.hy", line 196, in (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))
не дает ошибку (должен был отмечать с помощью кода вместо blockquote, чтобы он отображался правильно):
meek
<?xml version="1.0" encoding="utf-8"?>
<meek>
Kool Stuff
</meek>
Обратите внимание, что это всего лишь некоторый тестовый код для более крупной программы. У меня также возникают проблемы с прокомментированным assoc на 4-й строчке.