Серия руководств по Python 122

задняя часть

Друзья, если вам нужно перепечатать, пожалуйста, указывайте источник:blog.CSDN.net/Генерал сказал, о...

Отказ от ответственности: во время обучения технологии искусственного интеллекта многие студенты задавали мне некоторые вопросы, связанные с Python, поэтому, чтобы дать студентам более обширные знания и лучшее понимание технологии искусственного интеллекта, я попросил своего помощника поделиться этой серией. учебников по python Надеюсь, поможет всем! Поскольку этот учебник по Python написан не мной, он не такой забавный и юмористический, как мое обучение технологии ИИ, и его более скучно изучать; но его знания все еще на месте, и его также стоит прочитать! PS: Для студентов, которые не понимают эту статью, пожалуйста, сначала прочитайте предыдущую статью, и вам не составит труда учиться понемногу каждый день шаг за шагом!

Как в Python 3.0, так и в Python 2.6 тип файла определяется вторым параметром open.Этот параметр можно назвать строкой шаблона.Если строка содержит «b», это означает, что файл открывается в двоичном виде, иначе это в текстовом виде.

Python всегда поддерживал текстовые и двоичные файлы, но в Python 3.0 существует четкое различие между ними: • Текстовые файлы представляют содержимое в виде обычных строк str, выполняют автоматическое кодирование и декодирование Unicode и выполняют преобразование конца строки по умолчанию. • Двоичные файлы представляют содержимое в виде строки байтов особого типа и позволяют программам получать доступ к содержимому файла без модификации.

Различия в Python 3.0 влияют на код, если вам нужно иметь дело с интернационализированными приложениями или данными, ориентированными на байты. Как правило, вы должны использовать строки bytes для двоичных файлов и обычные строки str для текстовых файлов. Кроме того, поскольку текстовые файлы реализуют кодировку Unicode, двоичный файл данных нельзя открыть в текстовом режиме — в противном случае может произойти сбой декодирования его содержимого в текст Unicode.

Давайте посмотрим на пример. Когда вы читаете двоичный файл данных, вы получаете объект bytes:

>>> data = open('data.bin','rb').read()       # Open binary file: rb=read binary

>>> data              # bytes string holds binary data

b'\x00\x00\x00\x07spam\x00\x08'

>>> data[4:8]             # Act like strings

b'spam'

>>> data[0]      # But really are small 8-bit integers

115

>>> bin(data[0])         # Python 3.0 bin() function

'0b1110011'

Кроме того, двоичный файл не выполняет никакого преобразования данных в конец строки. Поэтому при чтении и записи файлов необходимо различать, использовать ли текстовую или двоичную форму. Файл, записанный в текстовом виде, также читается в текстовом виде. Файл, записанный в двоичной форме, должен быть прочитан в двоичной форме!