Друзья, если вам нужно перепечатать, пожалуйста, указывайте источник: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'
Кроме того, двоичный файл не выполняет никакого преобразования данных в конец строки. Поэтому при чтении и записи файлов необходимо различать, использовать ли текстовую или двоичную форму. Файл, записанный в текстовом виде, также читается в текстовом виде. Файл, записанный в двоичной форме, должен быть прочитан в двоичной форме!