2017-01-16 216 views
-1

每當我嘗試將「ime」或「autor」寫入的文本保存到外部文本文件時,我遇到問題。有關如何解決這個問題的任何建議,所以我可以將信息存儲在有組織的「類別」的方式將不勝感激。PYTHON如何將str輸入文本寫入文本文件

def unosenje_knjiga(): 
    file = open("2.rtd", "a") 
    ime = str(input("Ime knjige:")) 
    while len(ime) <= 3: 
     print("Molimo Vas unesite ime knjige ponovo!") 
     ime = str(input("Ime knjige:")) 

    autor = str(input("Autor knjige:")) 
    while len(autor) <= 0: 
     print("Molimo Vas unesite ime autora ponovo!") 
     ime = str(input("Autor knjige:")) 

    isbn = str(input("ISBN knjige:")) 
    while len(isbn) <= 0: 
     print("Molimo Vas unesite ISBN knjige ponovo!") 
     ime = str(input("ISBN knjige:")) 
+2

嗯,你似乎永遠寫入文件無論如何。你想使用什麼格式? –

+0

請參閱:http://stackoverflow.com/questions/5214578/python-print-string-to-text-file?rq=1 – Petar

回答

0

您可以通過file.write(s)

一個簡單的格式的字符串s寫入一個打開的文件來存儲你的數據將是Comma Separated Values (CSV)

因此,所有你需要做的是三串連接在一起,並將它們寫入文件:

s = '"%s","%s","%s"' % (ime,autor,isbn) 
file.write(s + "\n") 

您可能需要修正你的兩個while循環。你的第二個查詢總是設置變量ime而不是autor/isbn。

0
  1. 不能使用ime = str(input("Ime knjige:"));

改用 ime = raw_input("Ime knjige:");因爲如果使用ime = input("...")蟒蛇試圖解釋 '...' 作爲一個有效的Python表達式

爲例,鍵入a外殼

 str = input("enter input") 

作爲輸入類型5+4,然後

 print str 

結果將是9,因爲如果你使用輸入的輸入的內容進行評估

  • ,如果你想要寫的東西你有一個文件打開的句柄文件,然後寫入/讀取它到/和完成後,關閉文件句柄時(搜索「Python文件輸入輸出」)

    #!/usr/bin/python

    # Open a file

    fo = open("foo.txt", "wb") //二進制文件IO

    fo.write("Python is a great language.\nYeah its great!!\n");

    # Close opened file

    fo.close()

  • 看到https://www.tutorialspoint.com/python/python_files_io.htm

    +0

    感謝您的幫助! –

    相關問題