我无法弄清楚如何将用户输入写入现有文件。该文件已包含一系列字母,称为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()
因为我希望将用户输入添加到文件中而不删除已存在的内容,但没有任何作用。
请帮忙!
答案 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”: - )