2016-11-23 5 views
0

Я не могу понять, как записать пользовательский ввод в существующий файл. Файл уже содержит ряд букв и называется corpus.txt. Я хочу взять пользовательский ввод и добавить его в файл, сохранить и закрыть цикл.Напишите вход пользователя в файл python

Это код, у меня есть:

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

Вы не должны удалять свой вопрос, когда у вас есть ответ. Вопрос и ответ должны оставаться в том случае, если это полезно для кого-то другого. Возможно, вы могли бы принять ответ как правильный. – skyking

ответ

1

Открыть файл в режиме добавления с помощью «a» в качестве режима.

Например:

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

Затем записать в файл и текст должен быть добавлен в конец файла.

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") 

«с открытыми, как» удобный способ в Python, чтобы открыть файл, сделать что-то с ним в то время как в блоке, определяемом «с» и пусть Python обрабатывает остальные, как только вы выходите из него (например, закрывая файл).

Если вы хотите написать ввод от пользователя, вы можете заменить mycorpus на ваш input (я не слишком уверен, что вы хотите сделать из фрагментов кода).

Обратите внимание, что никакой возврат каретки не добавляется методом записи. Вероятно, вы хотите добавить «\ n» в конце :-)