ImportError: в Jython нет модуля с именем etree
Я пытаюсь проанализировать текстовый файл и преобразовать его в файл XML.
Для этого я получил один код (python3), который был успешно выполнен на моей машине с Windows.
Но тот же код, когда я хотел выполнить на моей машине AS400 с Jython его ошибка выдачи:
Traceback (innermost last):
File "<string>", line 2, in ?
ImportError: No module named etree
Вот сценарий Python, который работал для меня на Windows.
Пожалуйста, помогите мне, как я могу решить эту проблему.
Код Python:
import re
import xml.etree.ElementTree as ET
from contextlib import contextmanager
import sys
rex = re.compile(r'''(?P<title>Web\s+Name
|Context\s+Root
|Status
)
\s*:?\s*
(?P<value>.*)
''', re.VERBOSE)
root = ET.Element('root')
root.text = '\n' # newline before the celldata element
with open('WasContent.txt') as f:
celldata = ET.SubElement(root, 'celldata')
celldata.text = '\n' # newline before the collected element
celldata.tail = '\n\n' # empty line after the celldata element
for line in f:
# Empty line starts new celldata element (hack style, uggly)
if line.isspace():
celldata = ET.SubElement(root, 'celldata')
celldata.text = '\n'
celldata.tail = '\n\n'
# If the line contains the wanted data, process it.
m = rex.search(line)
if m:
# Fix some problems with the title as it will be used
# as the tag name.
title = m.group('title')
title = title.replace('&', '')
title = title.replace(' ', '')
e = ET.SubElement(celldata, title.lower())
e.text = m.group('value')
e.tail = '\n'
# Display for debugging
#ET.dump(root)
# Include the root element to the tree and write the tree
# to the file.
#tree = ET.ElementTree(root)
tree = ET.ElementTree(root)
#tree.write('cell.xml', encoding='utf-8', xml_declaration=True)
tree.write('cell.xml', encoding='utf-8', xml_declaration=Tru
Текстовый файл, который я читаю в качестве ввода:
------------------------------------- Проверка состояния приложения websphere -------------------------------------- WASX7209I: Подключен к процессу "SERVER1" на узле SRVR_SRVR с использованием SOAP-соединителя; Тип процесса: UnManagedProcess
+ ---------------------------- +
Статус: остановлен
+ ---------------------------- +
+ ---------------------------- +
CtxRootForWebMod: укажите корневой контекст веб-модуляНастройте значения для контекстных корней в веб-модулях.
Веб-модуль: SessionTest.war
URI: SessionTest.war, WEB-INF / web.xml
Корень контекста: /aaa
Статус: Бег
+ ---------------------------- +
+ ---------------------------- +
CtxRootForWebMod: укажите корневой контекст веб-модуляНастройте значения для контекстных корней в веб-модулях.
Веб-модуль: WebApp
URI: MainApp_934v123_20150605.war, WEB-INF / web.xml
Корень контекста: /mainapp_icilif
Статус: остановлен
+ ---------------------------- +
+ ---------------------------- +
выход:
<?xml version='1.0' encoding='utf-8'?> <root>
<celldata> <webmodule>SessionTest.war</webmodule> <contextroot>/aaa</contextroot> <status>Running</status> </celldata>
<celldata> <webmodule>MainApp_934v123_20150605.war</webmodule> <contextroot>/mainapp_icilif</contextroot> <status>Stopped</status> </celldata>
</root>