2017-01-16 466 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

    感谢您的帮助! –

    相关问题