在 .aiml 文件中获取所有用户的输入 (<pattern>input</pattern>) 并将其附加到列表中
Fetch all user's input (<pattern>input</pattern>) in .aiml file and append it on a list
目前我的任务是获取 .aiml 文件中的所有用户输入,并使用 Python3将其附加 到列表中。下面是代码:
topic.aiml
<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
<category>
<pattern>HELLO ALICE</pattern>
<template>
Hello User
</template>
</category>
<category>
<pattern>HOW ARE YOU</pattern>
<template>
I'm fine
</template>
</category>
<category>
<pattern>WHAT ARE YOU DOING</pattern>
<template>
Coding
</template>
</category>
<category>
<pattern>WHERE YOU FROM</pattern>
<template>
Manila
</template>
</category>
</aiml>
test.py
@extract.route('/')
def index_page():
folder = 'templates/topic.aiml'
data_set = []
with open(folder, 'r') as myfile:
data = myfile.read().replace('\n', '')
return data
Return 值为:HELLO ALICE 你好,你好吗,你来自哪里,这是正确的。但我不知道如何将它附加到 data_set
对于团队交给我的这种任务,我只是个新手。如果有人知道如何操作这个,将不胜感激。谢谢!
结果如下。
Return value from topic.aiml
如果你真正想要的输出是HELLO ALICE HOW ARE YOU WHAT ARE YOU DOING WHERE YOU FROM
,你的结果是误导你。
我将根据我对问题的解释来获取你问题中的一些模棱两可的信息。
您目前正在做的只是获取您的文件,删除换行符,然后返回所有其他内容。
我运行这个程序;
from flask import Flask
extract = Flask(__name__)
@extract.route('/')
def index_page():
folder = 'templates/topic.aiml'
data_set = []
with open(folder, 'r') as myfile:
data = myfile.read().replace('\n', '')
return data
extract.run()
这是它在浏览器中的样子;
您需要做的是解析文本并找到 pattern
标签内的内容。为此,我建议使用 BeautifulSoup;
from flask import Flask
from bs4 import BeautifulSoup
extract = Flask(__name__)
@extract.route('/')
def index_page():
folder = 'templates/topic.aiml'
with open(folder, 'r') as myfile:
soup = BeautifulSoup(myfile.read(), 'html.parser')
data_set = [match.text for match in soup.find_all("pattern")]
data = " ".join(data_set)
return data
extract.run()
目前我的任务是获取 .aiml 文件中的所有用户输入,并使用 Python3将其附加 到列表中。下面是代码:
topic.aiml
<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
<category>
<pattern>HELLO ALICE</pattern>
<template>
Hello User
</template>
</category>
<category>
<pattern>HOW ARE YOU</pattern>
<template>
I'm fine
</template>
</category>
<category>
<pattern>WHAT ARE YOU DOING</pattern>
<template>
Coding
</template>
</category>
<category>
<pattern>WHERE YOU FROM</pattern>
<template>
Manila
</template>
</category>
</aiml>
test.py
@extract.route('/')
def index_page():
folder = 'templates/topic.aiml'
data_set = []
with open(folder, 'r') as myfile:
data = myfile.read().replace('\n', '')
return data
Return 值为:HELLO ALICE 你好,你好吗,你来自哪里,这是正确的。但我不知道如何将它附加到 data_set
对于团队交给我的这种任务,我只是个新手。如果有人知道如何操作这个,将不胜感激。谢谢!
结果如下。
Return value from topic.aiml
如果你真正想要的输出是HELLO ALICE HOW ARE YOU WHAT ARE YOU DOING WHERE YOU FROM
,你的结果是误导你。
我将根据我对问题的解释来获取你问题中的一些模棱两可的信息。
您目前正在做的只是获取您的文件,删除换行符,然后返回所有其他内容。
我运行这个程序;
from flask import Flask
extract = Flask(__name__)
@extract.route('/')
def index_page():
folder = 'templates/topic.aiml'
data_set = []
with open(folder, 'r') as myfile:
data = myfile.read().replace('\n', '')
return data
extract.run()
这是它在浏览器中的样子;
您需要做的是解析文本并找到 pattern
标签内的内容。为此,我建议使用 BeautifulSoup;
from flask import Flask
from bs4 import BeautifulSoup
extract = Flask(__name__)
@extract.route('/')
def index_page():
folder = 'templates/topic.aiml'
with open(folder, 'r') as myfile:
soup = BeautifulSoup(myfile.read(), 'html.parser')
data_set = [match.text for match in soup.find_all("pattern")]
data = " ".join(data_set)
return data
extract.run()