Python [2.7.11]用户输入并写入文件

时间:2016-02-03 19:23:16

标签: python

你好,因为某些原因我不能得到这个代码我正在努力只是在html文档中添加一个新行,我是新的一个python刚开始编码昨天,我主要使用ms-dos但是这不是一种语言

无论如何代码正在做的是将用户输入和输出带到chat.html文件,我把它放在一个循环上,这样人们仍然可以在文件中添加单词,但是它会替换每个文件的那一行新词。

我曾尝试在YouTube上查找可能与许多论坛一样有效的代码,并通过python帮助文档,似乎没有任何理由可行。

下面你可以找到我正在使用的代码,毫无疑问它的内容很简单,我还不知道。

while 1:
    userinput = raw_input('Message:')
    myfile = open('./chat.html', 'w')
    myfile.write(userinput)
    myfile.close()
    if userinput == 'exit': break

4 个答案:

答案 0 :(得分:1)

为什么不在循环外打开文件一次?

with open('./chat.html', 'a') as myfile:
    while 1:
        userinput = raw_input('Message:')

        if userinput == 'exit':
            break

        myfile.write('{}\n'.format(userinput))

使用with

完成结算

答案 1 :(得分:0)

在while循环之外打开文件,然后检查条件。或者您可以在附加模式下打开文件,以便它不会覆盖以前的内容。

答案 2 :(得分:0)

您可能希望利用""用于打开和关闭文件的关键字。以下是我将如何做到这一点:

while True:
    userInput = raw_input("Message: ").lower()
    if userInput == 'exit':
        break #or sys.exit() if you want
    else:
        with open('./chat.html', 'a') as myfile:
            myfile.write(userInput)

答案 3 :(得分:0)

我认为我们误解了OP的真正要求。

他/她正在询问是否有问题的解决方案会覆盖他/她输入的每个新单词的“./chat.html”文件中的内容。

此问题最简单的解决方法如下所述:

    while 1:
        userinput = raw_input('Message:')
        if userinput == 'exit':
            exit()
        myfile = open('./chat.html', 'a')
        myfile.writelines(userinput)
        myfile.close()