Книга «Изучаем Python»



Pdf көрінісі
бет103/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   99   100   101   102   103   104   105   106   ...   238
Байланысты:
2 5343781172763690906

ПРИМЕЧАНИЕ

Python может записывать в текстовые файлы только строковые данные . Если вы захотите сохра-

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

в строки функцией str() .




194    Глава 10  •  Файлы и исключения

Многострочная запись

Функция 

write()


 не добавляет символы новой строки в записываемый текст. А это 

означает, что если вы записываете сразу несколько строк без включения символов 

новой строки, полученный файл может выглядеть не так, как вы рассчитывали:

filename = 'programming.txt'

with open(filename, 'w') as file_object:

file_object.write("I love programming.")

    file_object.write("I love creating new games.")

Открыв файл 

programming .txt

, вы увидите, что две строки «склеились»:

I love programming.I love creating new games.

Если включить символы новой строки в команды 

write()

, текст будет состоять 

из двух строк:

filename = 'programming.txt'

with open(filename, 'w') as file_object:

    file_object.write("I love programming.\n")

    file_object.write("I love creating new games.\n")

Результат выглядит так:

I love programming.

I love creating new games.

Для форматирования вывода также можно использовать пробелы, символы табу-

ляции и пустые строки по аналогии с тем, как это делалось с выводом на терминал.

Присоединение данных к файлу

Если вы хотите добавить в файл новые данные вместо того, чтобы перезаписывать 

существующее содержимое, откройте файл в режиме присоединения. В этом слу-

чае Python не уничтожает содержимое файла перед возвращением объекта файла. 

Все строки, выводимые в файл, будут добавлены в конец файла. Если файл еще 

не существует, то Python автоматически создаст пустой файл.

Изменим  программу 

write_message .py

  и  дополним  существующий  файл 

programming .txt

 новыми данными:

write_message.py

filename = 'programming.txt'

with open(filename, 'a') as file_object:



    file_object.write("I also love finding meaning in large datasets.\n")

    file_object.write("I love creating apps that can run in a browser.\n")

В точке  аргумент 

'a'

 используется для открытия файла в режиме присоединения 



(вместо перезаписи существующего файла). В точке  записываются две новые 

строки, которые добавляются к содержимому 

programming .txt

:



Исключения    195

programming.txt

I love programming.

I love creating new games.

I also love finding meaning in large datasets.

I love creating apps that can run in a browser.

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





Достарыңызбен бөлісу:
1   ...   99   100   101   102   103   104   105   106   ...   238




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет