我正试图制造一种机器人,当它检测到用户要求圣经经文时,将其内容打印到聊天中。
例如,如果用户键入“ Genesis 3:1
”,我有一个模块可以将基本文本转换成具有5个部分的["bookname",Startchapter,startverse,endchapter,endverse]
我有一个文本文件,其中包含所有以此形式存在的经文。
Genesis 1:1 Text.../n
Genesis 1:2 Text.../n
Genesis 1:3 text.../n
我正在尝试将文本文件转换成字典,可以使用圣经模块的Tuple输出调用其“文本”。
但是,我无法弄清楚如何制作一个具有3个键和1个文本值的字典,以与元组输出匹配,后者将定义要拉的经节。
如何将"genesis 1:1 Text.."
和txt文件中的所有其他行转换为格式为['Genesis',1,1,'text']
的元组字典?脚本模块的输出将在哪里调用文本?
我什至从哪里开始?将文本文件中的每一行变成一个元组?
我是编码的新手,所以我真的对发生的事情一无所知。
更新
f = open("sacredGenesis.txt", 'r')
w = open('sacredGenesis2.txt', 'w')
for line in f:
y = line.split(' ', 2)#as there are 2 spaces before and after 1:1
for line in y:
x = line.split(":", 1)#after splitting by space, splits up the 1:1
strx = str(x)
w.write(strx)
['Genesis'] ['1','1'] ['Text./n']
所需的输出['Genesis',1,1,'text。/ n']
我的代码几乎给了我想要的东西。它给了我3个包含4个部分的列表,而不是1个包含4个部分的列表。我要怎么做错了?还是有办法在python中将每三个列表加在一起?
[x],[y],[z],[1],[2],[3]
我将如何制作一个程序来遍历90,000个列表以使其成为[x,y,z],[1,2,3]?