2010-05-27 4 views

ответ

66

Вы можете сделать это двумя способами:

f.write("text to write\n") 

или, в зависимости от версии Python (2 или 3):

print >>f, "text to write"   # Python 2.x 
print("text to write", file=f)  # Python 3.x 
+0

Я использую f.writelines (ул (х)) записать в файл где х список для теперь скажите, как написать список й в файл справляясь каждый список начинается с новой строки – kaushik

+1

@kaushik: f.write ('\ n'.join (x)) или f.writelines (i +' \ n 'для i в x) – Steven

+0

Файл ', file = f' полезен , спасибо – nikhilvj

42

Может быть вы можете использовать

file.write(your_string + '\n') 
+0

вы можете использовать использование, например, при написании int в файл, вы можете использовать *** file.write (str (a) + '\ n') *** –

14

Если вы используете его широко (множество рукописных строк), вы можете унаследовать «файл»:

class cfile(file): 
    #subclass file to have a more convienient use of writeline 
    def __init__(self, name, mode = 'r'): 
     self = file.__init__(self, name, mode) 

    def wl(self, string): 
     self.writelines(string + '\n') 
     return None 

Теперь он предлагает дополнительную функцию WL, что делает то, что вы хотите:

fid = cfile('filename.txt', 'w') 
fid.wl('appends newline charachter') 
fid.wl('is written on a new line') 
fid.close() 

Возможно, я пропускаю что-то вроде разных символов новой строки (\ n, \ r, ...) или этого Последняя строка также заканчивается символом новой строки, но она работает для меня.

0

Только примечание, file не поддерживается в Python 3 и удалено. Вы можете сделать то же самое с встроенной функцией open.

f = open('test.txt', 'w') 
f.write('test\n') 
2

Вам просто нужно добавить параметр 'a'.

file_path = "/path/to/yourfile.txt" 
with open(file_path, 'a') as file: 
    file.write("This will be added to the next line\n") 

или

log_file = open('log.txt', 'a') 
log_file.write("This will be added to the next line\n") 
Смежные вопросы