gpt4 book ai didi

python - 当我应该在其中附加大量文本时,列表为空

转载 作者:太空宇宙 更新时间:2023-11-03 20:56:37 25 4
gpt4 key购买 nike

所以我正在编写代码,将特定的 xml 文档转换为 html 文档来呈现故事。我已经成功完成了大部分工作,但是当我将列表连接到字符串并将新字符串附加到列表中时,列表是空的。我尝试利用有限的理解来解决问题所在,但到目前为止还不够。我会向您展示我的代码以及我认为问题所在的区域。

我已经修复了我注意到的一件事,即我需要的变量不是我使用的变量,但我已经浏览了代码,并且找不到任何此类的进一步错误。


import codecs
import re

fileIn = codecs.open("differenceInAbility.xml", "r", "utf-8")
text = fileIn.read()
fileIn.close()

chapterTitle = re.findall(r'<chapter number="(\d)" name="(.+?)">', text)
chapters = re.findall(r'<chapter number="\d" name=".+?">(.+?)</chapter>', text, flags=re.DOTALL)
paragraphs = re.findall(r"<paragraph>(.+?)</paragraph>", text, flags=re.DOTALL)

cleanParagraphs = []
for entry in paragraphs:
cleanup = re.sub(r"\r\n[ ]+", " ", entry)
cleanup2 = re.sub(r"[ ]+", " ", cleanup)
cleanParagraphs.append(cleanup2)
chaptersHTML = []
chapterCounter = 1
for entry in chapters:
if chapterTitle[0] == r"\d+":
chapterHTML = "<h1> Chapter " + chapterCounter + " - " + chapterTitle[1] + "</h1>"
chapterTitle.pop(0)
chapterTitle.pop(1)
paragraphsHTML = []
for paragraph in cleanParagraphs:
if paragraph in entry:
p = "<p>" + paragraph + "</p>"
paragraphsHTML.append(p)
allParagraphsHTML = "\n".join(paragraphsHTML)
wholeSection = chapterHTML + allParagraphsHTML
chaptersHTML.append(wholeSection)
chapterCounter += 1


print(chaptersHTML)

我认为相关的部分是:

 paragraphsHTML = []
for paragraph in cleanParagraphs:
if paragraph in entry:
p = "<p>" + paragraph + "</p>"
paragraphsHTML.append(p)
allParagraphsHTML = "\n".join(paragraphsHTML)
wholeSection = chapterHTML + allParagraphsHTML
chaptersHTML.append(wholeSection)

因为 cleanParagraphs 列表具有正确的内容,其中 xml 文档的每个段落都是该列表中自己的条目。

问题可能是if paragraph inentry因为它没有将“entry”的部分内容注册为其中的段落吗?

如果是这样,我将如何解决这个问题?我如何确保它知道哪个段落在哪一章?

最佳答案

cleanParagraphs 的内容不是原始子字符串,因此它们当然不会出现在未更改的 chapters 值中。您应该单独处理每一章(包括将其分成段落),这样您就不必重新发现它包含哪些段落(并避免错误处理两章之间恰好相同的段落)。

关于python - 当我应该在其中附加大量文本时,列表为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55984109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com