7 ответов:
использовать "\n":
file.write("My String\n")посмотреть руководство по Python для справки.
Вы можете сделать это двумя способами:
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
Если вы используете его широко (много письменных строк), вы можете подкласс 'file':
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, ...) или что последняя строка также заканчивается новой строкой, но это работает для меня.
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")
Это решение, которое я придумал, пытаясь решить эту проблему для себя, чтобы систематически производить \N в качестве разделителей. Он пишет, используя список строк, где каждая строка является одной строкой файла, однако кажется, что он может работать и для вас. (Python 3.+)
#Takes a list of strings and prints it to a file. def writeFile(file, strList): line = 0 lines = [] while line < len(strList): lines.append(cheekyNew(line) + strList[line]) line += 1 file = open(file, "w") file.writelines(lines) file.close() #Returns "\n" if the int entered isn't zero, otherwise "". def cheekyNew(line): if line != 0: return "\n" return ""
просто к сведению,
fileНе поддерживается вPython 3и был удален. Вы можете сделать то же самое сopenвстроенная функция.f = open('test.txt', 'w') f.write('test\n')
Comments