2015-06-21 5 views
1

Итак, прочитав много экземпляров того же вопроса, на который я отвечу, я все еще застрял. Почему эта функция не писать на новой линии каждый раз, когда ?:Напишите новую строку в файл (Python 3)

def addp(wrd,pos): 
    with open('/path/to/my/text/file', 'w') as text_file: 
     text_file.write('{0} {1}\n'.format(wrd,pos)) 

Казалось бы, как если бы \n должен делать трюк. Я что-то упускаю?

Я бег Ubuntu 15.04

+0

Вы используете неправильный режим. Вам нужно использовать ['' a'' (добавить)] (http://stackoverflow.com/questions/4706499/how-do-you-append-to-a-file-in-python), а не '' w '(писать). –

ответ

3

Он должен писать новую строку в файл все время, проблема может быть, что вы открывающиеся файл в w режиме, что приводит к тому, файлу будет перезаписана, следовательно, для каждого вызова вышеуказанной функции он полностью перезаписывает файл только с wrd,pos, который вы отправляете, поэтому файл содержит только одну строку.

Вы должны попробовать использовать режим a, предназначенный для присоединения к файлу.

def addp(wrd,pos): 
    with open('/path/to/my/text/file', 'a') as text_file: 
     text_file.write('{0} {1}\n'.format(wrd,pos)) 
+0

Надеюсь, это был начальный вопрос, а не тупой! Спасибо: P –

+0

да, я бы не сказал немой –

Смежные вопросы