Как указать новые строки в Python при записи в файлы?

По сравнению с Java (в виде строки), вы должны сделать что-то вроде "First Line\r\nSecond Line".

Итак, как бы вы сделали это в Python, чтобы написать несколько строк в обычном файле?

Ответ 1

Это зависит от того, насколько правильно вы хотите быть. \n обычно делает эту работу. Если вы действительно хотите понять это правильно, вы ищите символ новой строки в пакете os. (На самом деле это называется linesep.)

Примечание: при записи в файлы с использованием Python API не используйте os.linesep. Просто используйте \n; Python автоматически переводит это на правильный символ новой строки для вашей платформы.

Ответ 2

Новый символ строки \n. Он используется внутри строки.

Пример:

    print 'First line \n Second line' 

где \n - символ новой строки.

Это даст результат:

First line
 Second line

Ответ 3

Вы можете писать в новых строках отдельно или внутри одной строки, что проще.

Пример 1

вход

line1 = "hello how are you"
line2 = "I am testing the new line escape sequence"
line3 = "this seems to work"

Вы можете написать '\n' отдельно:

file.write(line1)
file.write("\n")
file.write(line2)
file.write("\n")
file.write(line3)
file.write("\n")

Выход

hello how are you
I am testing the new line escape sequence
this seems to work

Пример 2

вход

Как уже указывали другие в предыдущих ответах, поместите \n в соответствующие пункты в вашей строке:

line = "hello how are you\nI am testing the new line escape sequence\nthis seems to work"

file.write(line)

Выход

hello how are you
I am testing the new line escape sequence
this seems to work

Ответ 4

В Python вы можете просто использовать символ новой строки, т.е. \n

Ответ 5

Если вы вводите сразу несколько строк текста, я считаю, что это наиболее читаемый формат.

file.write("\
Life but a walking shadow, a poor player\n\
That struts and frets his hour upon the stage\n\
And then is heard no more: it is a tale\n\
Told by an idiot, full of sound and fury,\n\
Signifying nothing.\n\
")

\ в конце каждой строки выходит новая строка (что может вызвать ошибку).

Ответ 6

Самое простое решение

Если вы вызываете print только без аргументов, она выведет пустую строку.

print

Вы можете передать вывод в файл, как это (учитывая ваш пример):

f = open('out.txt', 'w')
print 'First line' >> f
print >> f
print 'Second line' >> f
f.close()

Он не только не зависит от ОС (даже без использования пакета os), но и более читабелен, чем помещает \n в строки.

объяснение

Функция print() имеет необязательный аргумент ключевого слова для конца строки, называемый end, который по умолчанию равен символу новой строки ОС, например. \n. Итак, когда вы вызываете print('hello'), Python фактически печатает 'hello' + '\n'. Это означает, что когда вы вызываете просто print без каких-либо аргументов, на самом деле печатается '' + '\n', что приводит к переводу строки.

альтернатива

Используйте многострочные строки.

s = """First line
    Second line
    Third line"""
f = open('out.txt', 'w')
print s >> f
f.close()

Ответ 7

То же самое с '\n', хотя вам, вероятно, не понадобится '\r'. Есть ли у вас причина в вашей версии Java? Если вам это нужно/нужно, вы можете использовать его так же и в Python.

Ответ 8

\n - работает простая вставка символа новой строки:

# Here the test example - string with newline char :
In [36]: test_line = "Hi!!!\n testing first line.. \n testing second line.. \n and third line....."

# Output:
In [37]: print(test_line)

Hi!!!
 testing first line.. 
 testing second line.. 
 and third line.....

Ответ 9

Большинство escape-символов в строковых литералах из Java также допустимы в Python, таких как "\ r", "\n"

Ответ 10

Чтобы убрать пробелы в выводе, сделайте, как показано в следующем примере:

a=10
b=5
print('{}\n{}\n{}'.format(a+b,a-b,a*b)) 

о/р

15
5
50

Ответ 11

\n разделяет строки строки. В следующем примере я продолжаю писать записи в цикле. Каждая запись отделена \n

f = open("jsonFile.txt", "w")
for row_index in range(2,sheet.nrows):

  System = sheet.cell(row_index, 2).value
  Floor = sheet.cell(row_index, 3).value
  Location = sheet.cell(row_index, 4).value
  DisplayName = sheet.cell(row_index, 6).value
  Description = sheet.cell(row_index, 7).value
  tag = sheet.cell(row_index, 8).value


  mydict1 = {
    "PowerMeterId" : row_index + 1,
    "Service": "Electricity",
    "Building": "JTC FoodHub",
    "Floor": str(Floor),
    "Location": Location,
    "ReportType": "Electricity",
    "System": System,
    "SubSystem": "",
    "Incomer": "",
    "Category": "",
    "DisplayName": DisplayName,
    "Description": Description,
    "Tag": tag,
    "IsActive": 1,
    "DataProviderType": int(0),
    "DataTable": ""
  }
  mydict1.pop("_id", None)
  f.write(str(mydict1) + '\n')



f.close()