Как написать несколько строк в файле, используя многострочную строку?Я действительно хочу оптимизировать код ниже - PullRequest
1 голос
/ 21 мая 2019

Я использую file_name.write для записи нескольких строк с учетом пробелов для записи файла.

Код:

    file_handle.write('$TTL 1h\n')
    file_handle.write('@\tIN\tSOA\tns1.test.nimblestorage.com.\tis-ops.hpe.com. (\n'
                      )
    file_handle.write('\t\t\t%s\t; serial\n' % serial_number)
    file_handle.write('\t\t\t3h\t; refresh\n')
    file_handle.write('\t\t\t30m\t; retry\n')
    file_handle.write('\t\t\t30d\t; expire\n')
    file_handle.write('\t\t\t5m )\t; minimum\n')
    file_handle.write('\t\tNS\tns1.test.nimblestorage.com.\n')
    file_handle.write('\t\tNS\tns2.test.nimblestorage.com.\n')
    file_handle.write('\n')

Но мне нужен многострочный кодсо всеми строками в одном файле.

Ответы [ 2 ]

1 голос
/ 21 мая 2019

Используйте тройные кавычки:

file_handle.write('''$TTL 1h
@\tIN\tSOA\tns1.test.nimblestorage.com.\tis-ops.hpe.com. (
\t\t\t{serial}\t; serial
...
'''.format(serial=serial_number))
0 голосов
/ 21 мая 2019

Есть причины хотеть многострочных строк, и в этом случае ответ Джона Цвинка будет хорошим. Однако, если вы хотите их для оптимизации файлового ввода / вывода:

Не беспокойся

Python уже выполняет оптимизацию за вас: см. Параметр буферизации в https://docs.python.org/3/library/functions.html#open

...