1

我对python相当陌生,我正在努力学习。我正在编写一个程序,它将导入一个包含詹姆斯国王圣经的文本文件。用户必须输入圣经经文,例如 gen 1:1 或 gen 1:1-10,它会在输入原始数据时显示该经文或经文到目前为止我有它到程序接收文件并拆分的位置数据输入我不确定我可以使用 python 的哪些功能来完成这个

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. 
4

2 回答 2

6
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

This will return a bible dictionary, using books as keys (so you can do bible['gen'], for example, and get the contents of that book). The contents of a book are stored as a list of lists, like this:

[['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. ']]

In the future, if you need something more specific, please specify that in your question.

于 2013-07-26T05:51:58.813 回答
1

以下是您可以用来继续推进的一些事情:

假设拆分后,您有空白空间可以摆脱:

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]
于 2013-07-26T06:02:15.793 回答