Python 获取所有用户';在.aiml文件中输入(<;pattern>;input<;/pattern>;),并将其附加到列表中
目前,我的任务是获取.aiml文件中的所有用户输入,并使用Python3将其添加到列表中。代码如下: 主题。aimlPython 获取所有用户';在.aiml文件中输入(<;pattern>;input<;/pattern>;),并将其附加到列表中,python,flask,aiml,Python,Flask,Aiml,目前,我的任务是获取.aiml文件中的所有用户输入,并使用Python3将其添加到列表中。代码如下: 主题。aiml <?xml version = "1.0" encoding = "UTF-8"?> <aiml version = "1.0.1" encoding = "UTF-8"?> <category> <pattern>HELLO ALICE</pattern> <template>
<?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>
返回值为:你好,ALICE你好,你从哪里来,你在做什么?,这是正确的。但我不知道如何将其附加到数据集
我对团队交给我的这类任务还不熟悉。非常感谢如果有人知道如何操纵这个。谢谢
下面是结果
如果你真正想要的输出是
你好,爱丽丝,你从哪里来,你在做什么,你的结果会误导你
我将把你问题中一些模棱两可的信息和我对它的解释结合起来
您当前所做的只是获取文件、删除换行符并返回所有其他内容
我运行这个程序
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()
这就是它在浏览器中的外观
相反,您需要做的是解析文本并找到模式
标记中的内容。为此,我建议使用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()
你好我不确定你所说的“附加到数据集”到底是什么意思,但听起来你所需要的只是数据集。在返回语句之前附加(数据)
。@Stael我想这样做:数据集=['HELLO ALICE','HOW you','what you DOING','what you FROM']你是男子汉!这实际上是我需要的结果集。谢谢非常感谢您的帮助。如果我想在标记中排除标记,该怎么办。例如:我的狗的名字是*,有趣的是,你有一只狗被命名为。如果标记有NAME属性,那么在结果集中不应该包含这些标记
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()