我对python很新,我正在努力学习。我正在写一个程序,它将导入一个包含国王詹姆斯圣经的文本文件。用户必须输入圣经经文,例如gen 1:1或gen 1:1-10,它将显示原始数据输入的经文或经文到目前为止我将它带到程序接收文件的位置并拆分数据输入我不知道我可以用什么功能来完成这个
bible = open("kjv.txt" , "r").readlines()
for line in bible:
x = line.split("|")
print "%s, %s, %s" % (x[0], x[1], x[2])
文本文件外观的示例
0 | gen 1:1 | In the beginning God created the heaven and the earth.
1 | gen 1:2 | And the earth was without form, and void; and darkness was upon the face of the deep. And the Spirit of God moved upon the face of the waters.
2 | gen 1:3 | And God said, Let there be light: and there was light.
3 | gen 1:4 | And God saw the light, that it was good: and God divided the light from the darkness.
4 | gen 1:5 | And God called the light Day, and the darkness he called Night. And the evening and the morning were the first day.
5 | gen 1:6 | And God said, Let there be a firmament in the midst of the waters, and let it divide the waters from the waters.
6 | gen 1:7 | And God made the firmament, and divided the waters which were under the firmament from the waters which were above the firmament: and it was so.
7 | gen 1:8 | And God called the firmament Heaven. And the evening and the morning were the second day.
8 | gen 1:9 | And God said, Let the waters under the heaven be gathered together unto one place, and let the dry land appear: and it was so.
9 | gen 1:10 | And God called the dry land Earth; and the gathering together of the waters called he Seas: and God saw that it was good.
答案 0 :(得分:4)
bibletext = """the bible contents"""
bible = {}
for line in bibletext.splitlines():
number,bv,contents = line.split(" | ")
book,verse = bv.strip().split(" ")
print book
print bible
if book in bible:
bible[book].append([verse,contents])
else:
bible[book] = [verse,contents]
print bible
这将返回bible
字典,使用书籍作为键(例如,您可以执行bible['gen']
,并获取该书的内容)。书的内容存储为列表列表,如下所示:
[['1:1', 'In the beginning God created the heaven and the earth.', ['1:2', 'And the earth was without form, and void; and darkness was upon the face of the deep. And the Spirit of God moved upon the face of the waters. ']]
将来,如果您需要更具体的内容,请在您的问题中指明。
答案 1 :(得分:0)
以下是一些可以用来继续推进的事情:
假设在分割之后,你有空白区域来摆脱:
a = " white space on both sides "
b = a.strip()
print b # "white space on both sides"
我建议将您的数据放入字典中,以便您可以按章节和经文
查找bible = {}
for line in bible:
x = line.split("|")
bible[x[1].strip()] = x[2].strip()
chapter_verse = raw_input('Enter a chapter and verse: ')
print bible[chapter_verse]