将用户输入写入文件python

时间:2016-11-23 23:11:12

标签: python file save user-input

我无法弄清楚如何将用户输入写入现有文件。该文件已包含一系列字母,称为corpus.txt。我想获取用户输入并将其添加到文件中,保存并关闭循环。

这是我的代码:

if user_input == "q":
    def write_corpus_to_file(mycorpus,myfile):
        fd = open(myfile,"w")
        input = raw_input("user input")
        fd.write(input)
    print "Writing corpus to file: ", myfile
    print "Goodbye"
    break

有什么建议吗?

用户信息代码为:

def segment_sequence(corpus, letter1, letter2, letter3):
    one_to_two = corpus.count(letter1+letter2)/corpus.count(letter1)
    two_to_three = corpus.count(letter2+letter3)/corpus.count(letter2)

    print "Here is the proposed word boundary given the training corpus:"

    if one_to_two < two_to_three:
        print "The proposed end of one word: %r " % target[0]
        print "The proposed beginning of the new word: %r" % (target[1] + target[2])

    else:
        print "The proposed end of one word: %r " % (target[0] + target[1])
        print "The proposed beginning of the new word: %r" % target[2]

我也试过这个:

f = open(myfile, 'w')
mycorpus = ''.join(corpus)
f.write(mycorpus)
f.close()

因为我希望将用户输入添加到文件中而不删除已存在的内容,但没有任何作用。

请帮忙!

2 个答案:

答案 0 :(得分:1)

使用“a”作为模式,以追加模式打开文件。

例如:

f = open("path", "a")

然后写入文件,文本应附加到文件的末尾。

答案 1 :(得分:0)

该代码示例适用于我:

#!/usr/bin/env python

def write_corpus_to_file(mycorpus, myfile):
    with open(myfile, "a") as dstFile:
        dstFile.write(mycorpus)

write_corpus_to_file("test", "./test.tmp")

“with open as”是python中打开文件的一种便捷方式,在“with”定义的块内执行某些操作,并让Python在退出后处理其余文件(例如,关闭文件)。

如果您要撰写用户的输入,可以将mycorpus替换为input(我不太清楚您希望从代码段中做什么)。

请注意,write方法不会添加回车符。你可能想在最后附加一个“\ n”: - )