0
def inputbook():
    question1 = input("Do you want to input book?yes/no:")
    if question1 == "yes":
        author = input("Please input author:")
        bookname = input("Please input book name:")
        isbn = input("Please input ISBN code")
        f = open("books.txt", "a")
        f.write("\n")
        f.write(author )
        f.write(bookname )
        f.write(isbn )
        f.close()
    elif question1 == "no":
        input("Press <enter>")
inputbook();

だから私はこのようなコードを持っていて、最後の文字列 (isbn) を書くとき、python に books.txt ファイルを読んでもらいたいのです。どうすればいいですか?

4

2 に答える 2

1

開いているファイルに問題があり、読み取れません。次のコマンドで開く必要があります。

f = open("books.txt", "+r")

"a" は追加を表すため、f で books.txt を読み取ることはできません。

第二に、現在のところ、readlines または readline はコードにとって適切なオプションではありません。書き込みメソッドを更新する必要があります。.txt ファイル内では、著者、書籍名、および isbn がごちゃごちゃになっていて、それらを分離することはできません。

于 2013-03-11T16:08:36.527 に答える
0
def inputbook():

    question1 = raw_input("Do you want to input book? (yes/no):")

    if question1 == "yes":
        author = raw_input("Please input author:")
        bookname = raw_input("Please input book name:")
        isbn = raw_input("Please input ISBN code:")
        f = open("books.txt", "a+")
        f.write("%s | %s | %s\n" % (author, bookname, isbn))
        f.close()

    elif question1 == "no":
        raw_input("Press <enter>")
        try:
            print open('books.txt', 'r').read()
        except IOError:
            print 'no book'

if __name__ == '__main__':
    inputbook()
于 2013-03-11T16:14:38.310 に答える