Байты в строку в Python

В Python всякий раз, когда мы что-либо сохраняем, он хранит это как байт. Байты не читаются человеком, а строки являются удобочитаемыми формами. Всякий раз, когда мы сохраняем какую-либо строку, она не будет напрямую сохранять ее как строку; он будет закодирован в байты с использованием различных методов, таких как ASCII и UTF-8.

Например , ‘I am a andreyex’.encode(‘ASCII’)

 

В приведенном выше примере мы конвертируем строку в байты, используя метод кодирования ASCII. И когда мы распечатаем его с помощью метода печати python, мы увидим результаты вроде b’I am a andreyex ‘. Здесь мы видим, что строка просто следует за одним символом b. На самом деле мы не можем читать байты, но здесь функция печати python декодирует байты в удобочитаемые формы, чтобы мы могли читать строки.

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

str1 = 'I am a andreyex'

print(type(str1))

str2 = b'I am a andreyex'

print(type(str2))


 

Мы создали две строки. Одна строка проста. А другая строка — байты. Когда мы печатаем оба типа строк, мы получаем результаты, как показано ниже. Приведенные ниже результаты показывают, что одна строка является байтовым типом, а другая — строковым.

<class 'str'>

<class 'bytes'>

 

Теперь мы напечатаем каждый символ обеих строк, чтобы найти разницу между ними. Сначала мы напечатаем строку (str1) с помощью цикла for, который является обычной строкой.

for a in str1:

print(a)


 

Вывод:

I



a

m



a

a

n

d

r

e

y

e

x

 

Теперь мы собираемся напечатать еще одну строку (str2), которая является байтовым типом.

for a in str2:

print(a)


 

Вывод:

73

32

97

109

32

97

32

97

110

100

114

101

121

101

120

 

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

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

 

Метод 1. Использование функции map()

В этом методе мы будем использовать функцию map() для преобразования байтов в строковый формат. Приведенная ниже небольшая программа проясняет концепцию.

byte = [97, 99, 100]



s = ''.join(map(chr, byte))

print(s)


 

Вывод:

acd

 

Строка 1: Мы создали список байтов имени.

Строка 3: Затем мы передали символы элемента в списке в качестве параметра и байт в качестве параметра функции join(), которая объединит все символы после преобразования. Наконец, результат распечатывается.

 

Метод 2 : использование функции decode()

Другой метод — это функция decode(). Функция декодирования работает прямо противоположно функции encode().

# преобразование байтов в строку с помощью decode()



str = b'blogs andreyex'

print(str)

print(type(str))



# теперь преобразование байтов в строку

output = str.decode()



print('nOutput:')

print(output)

print(type(output))


 

Вывод:

b'blogs andreyex'

<class 'bytes'>

Вывод:

blogs andreyex

<class 'str'>

 

Строка 3: Мы создали байтовую строку.

Строки с 4 по 5: эти строки просто печатают информацию о строке, которую мы создали в строке 3.

Строка 8: Теперь мы вызываем функцию декодирования и сохраняем результат под новым именем переменной.

Строки с 11 по 12: эти строки показывают, что теперь наша строка больше не имеет байтового типа и что мы можем подтвердить тип вывода, который является строковым.

 

Способ 3. Использование функции codecs.decode()

В этом методе мы будем использовать функцию codecs.decode(). Эта функция используется для преобразования двоичной строки в нормальную форму. Итак, давайте посмотрим, как на самом деле работает эта функция.

# преобразование байтов в строку с помощью codecs()

import codecs

str = b'blogs andreyex'

print(str)

print(type(str))



# теперь преобразование байтов в строку

output = codecs.decode(str)



print('nOutput:')

print(output)

print(type(output))


 

Вывод:

b'blogs andreyex'

<class 'bytes'>

Вывод:

blogs andreyex

<class 'str'>

 

Строка 2:  Импортируем библиотечные кодеки.

Строка 3: Мы создали байтовую строку.

Строки с 4 по 5: эти строки просто печатают информацию о строке, которую мы создали в строке 3.

Строка 8: Теперь мы вызываем функцию caodecs.decode и сохраняем результат под новым именем переменной.

Строки с 11 по 12: Эти строки показывают, что теперь наша строка больше не имеет байтового типа, и мы можем подтвердить тип вывода, который является строковым.

 

Метод 4 : использование функции str()

Мы также можем преобразовать байты в обычные строки с помощью функции str(). Небольшая программа для понимания этого метода приведена ниже.

if __name__ == '__main__':

str1 = b'blogs andreyex'

print(str)

print(type(str))

# теперь конвертируем байты в строку

output = str(str1, 'utf-8')

print('nOutput:')

print(output)

print(type(output))

 

Вывод:

<class 'str'>

<class 'type'>

Вывод:

blogs andreyex

<class 'str'>

 

Строка 2: мы создали байтовую строку.

Строка 3–4: эти строки просто печатают информацию о строке, которую мы создали в строке 3.

Строка 6: Теперь мы вызываем функцию str () и сохраняем результат под новым именем переменной.

Строки с 7 по 9: Эти строки показывают, что теперь наша строка больше не имеет байтового типа, и мы можем подтвердить тип вывода, который является строковым.

 

Заключение

Как программисты на Python, мы ежедневно работаем над разными языками, и иногда мы получаем ошибку из-за байтов. Итак, в этой статье мы пытаемся дать некоторые методы преобразования байтов в строку, чтобы при применении любых методов, связанных со строкой, вы не получали никаких ошибок.

В этом руководстве мы представили все концепции, которые можно использовать для преобразования байтов в строки. Вы можете выбрать в соответствии с требованиями вашей программы.



2021-10-12T12:01:59
Python

JavaScript с нуля

JavaScript с нуля

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

Скачать с mail облака

2021-10-12T09:02:56Книги и Курсы

Python: быстрый старт

Python: быстрый старт

Книга Python: быстрый старт. Всегда хотели научиться программировать на Python, но не знаете, с чего начать? Или хотите быстро перейти с другого языка на Python? Уже перепробовали множество книг и курсов, но ничего не подходит?

Все когда-то были новичками. Мы об этом часто забываем, но появляются новые поколения, которые хотят как можно быстрее и с минимум усилий освоить «незнакомый язык»

Не судите новичков строго, если вы гуру программирования, вам эта книга не нужна, но возможно она пригодится вашему ребенку, брату, сестре, другу или подруге 😉

Серия «Быстрый старт» — отличное решение, и вот почему: сложные понятия разбиты на простые шаги — вы сможете освоить язык Python, даже если никогда раньше не занимались программированием; все фундаментальные концепции подкреплены реальными примерами; вы получите полное представление о Python: структуры управления, методы обработки ошибок, концепции объектно-ориентированного программирования и т. д.; в конце книги вас ждет интересный проект, который поможет усвоить полученные знания.

Скачать с mail облака

2021-10-11T16:26:36Книги и Курсы

Как сделать git локальным так же, как удаленный

Поддержка Git управления локальными и удаленными репозиториями помогла сделать вычисления более удобными. Удаленные репозитории управляются на сервере, тогда как локальные репозитории поддерживаются на машине и могут быть доступны без доступа в Интернет. Git предлагает две поддержки потоковой передачи: одна — восходящая, а другая — нисходящая; восходящий относится к тому месту, где вы клонируете своего представителя, а нисходящий поток позволяет вам интегрировать вашу работу с другими работами.

Поскольку Git — это программное обеспечение для распределенного управления версиями, параллельная работа может привести к путанице, поскольку несколько участников вносят изменения в один проект. Таким образом, рекомендуется синхронизировать удаленные и локальные репозитории, чтобы избежать каких-либо неудач, например, от вас может потребоваться вернуться к некоторым предыдущим версиям, что может потребовать бюджета и времени.

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

Как сделать локальный репозиторий таким же, как удаленный

В этом разделе перечислены шаги по постоянному обновлению локального репозитория; всякий раз, когда удаленный репозиторий фиксирует изменения; можно выполнить шаги, описанные в этом разделе, чтобы применить эти изменения и в локальном репозитории:

 

Шаг 1. Клонируйте удаленный репозиторий на локальный

В качестве примера мы берем проект GitHub и хотим клонировать этот проект на нашу машину. Для этого выполните команду, указанную ниже, чтобы клонировать пульт в указанный каталог: (в вашем случае ссылка на проект будет другой)

$ git clone https://github.com/marcusanth/Bat-inspired-test-case-prioritization.git

 

После клонирования проекта; измените рабочий каталог терминала на каталог, в котором вы клонировали проект.

Примечание
Если вы уже клонировали проект, можно сразу перейти к шагу 2.

 

Шаг 2. Добавьте восходящий поток как удаленный

В проектах git восходящий поток относится к репозиторию, из которого вы хотите клонировать: на этом шаге добавляется новый пульт, из которого будут извлечены и синхронизированы изменения:

Во-первых, проверьте список доступных пультов, выполнив команду, указанную ниже:

$ git remote -v

 

Из выходных данных видно, что в качестве удаленного присутствует только «origin»; вы можете добавить новый пульт, выполнив команду, указанную ниже: мы использовали эту команду, чтобы добавить «andreyex» в качестве нового пульта:

$ git remote add andreyex https://github.com/marcusanth/Bat-inspired-test-case-prioritization.git

 

Результат на изображении выше показывает, что новый удаленный «andreyex» успешно добавлен:

 

Шаг 3. Сделайте происхождение таким же, как удаленное «andreyex»

На этом шаге будет извлечено содержимое из «andreyex», и изменения будут сопоставлены с «origin»: используйте команду, указанную ниже, для выполнения вышеупомянутого действия:

$ git fetch andreyex

 

Шаг 4: перейдите к основной ветке и объедините мастер andreyex

После получения содержимого с пульта: вы должны быть в главной ветке; в случае, если это не так, вы можете использовать следующую команду, чтобы перейти к главной ветке; в нашем случае мы уже на нем:

$ git checkout master

 

После этого вам нужно объединить главную ветвь удаленного восходящего потока (в нашем случае — andreyex), выполнив команду, указанную ниже:

$ git merge andreyex/master

 

Если вы обслуживаете локальные и удаленные репозитории, вы должны выполнить шаги 1 и 2. Первые два шага — разовые; после этого вы должны каждый раз выполнять только шаги 3 и 4, чтобы получить и объединить контент.

 

Заключение

Git стал самой популярной системой управления версиями при разработке и сопровождении крупных проектов. Основным отличием Git является отслеживание версии по времени, обеспечение конфиденциальности данных, хранящихся в репозиториях, и предоставление онлайн- и офлайн-доступа путем создания удаленных и локальных репозиториев. Однако также рекомендуется сохранить локальный репозиторий таким же, как и удаленный; так что содержимое, сохраненное в обоих репозиториях, остается неизменным. В этом описательном руководстве мы предоставили пошаговую процедуру синхронизации локального репозитория так же, как и удаленного репозитория. Более того, если какие-либо добавления выполняются в локальном репозитории и недоступны на удаленном компьютере, эти изменения будут удалены, чтобы данные остались прежними.



2021-10-11T11:01:43
Программирование

Как переименовать файл в Python

Мы можем переименовывать файлы в терминале Linux, используя разные подходы, один из подходов — использование Python, который обсуждается в этой статье. Мы не можем писать код Python прямо в терминале, мы создаем отдельный файл в текстовом редакторе. «rename» — это одна из функций операционной системы, поэтому для этой цели мы будем использовать модуль ОС в Python.

Чтобы переименовать файл с помощью модуля ОС Python, следуйте процедуре, приведенной ниже:

 

Переименовать файл в Python с помощью модуля ОС в Ubuntu

Требования:

  • Файл должен существовать ранее
  • Любая версия Python должна быть установлена ​​в вашей системе Linux.

 

Модуль ОС Python позволяет выполнять различные операции, связанные с операционной системой. Переименование файла также является одной из операций операционной системы, которую можно выполнить с помощью функции модуля ОС Python os.rename().

Теперь выполните следующую процедуру, чтобы изменить имя файла с помощью модуля ОС Python:

Создание файла в Python: сначала вам нужно создать файл Python с помощью редактора nano, например, мы создали файл Python_file.py с помощью указанной ниже команды:

$ nano python_file.py

 

Вы можете установить имя файла по вашему выбору.

 

Использование функции «os.rename» для переименования файла

Чтобы переименовать файл в текущем каталоге: Указанный ниже синтаксис функции «os.rename ()» будет использоваться для переименования файла в текущем каталоге:

$ os.rename("source file", "destination file")

 

  • исходный файл : старое имя файла
  • целевой файл : новое имя файла

 

Теперь напишите указанный ниже код в Python_file, чтобы переименовать «old_andreyex.txt» в «new_andreyex.txt» в текущем каталоге:

«import os» используется для импорта модуля ОС в программу:

import os



os.rename("old_andreyex.txt","new_andreyex.txt")

 

Нажмите «ctrl + s», чтобы сохранить файл, и «ctrl + x», чтобы выйти из файла.

Теперь, чтобы выполнить файл, запустите указанную ниже команду, я использую Python3 для выполнения Python_file.py, поскольку Python3 предварительно установлен в системе Ubuntu:

$ python3 python_file.py

 

И команда ls используется для вывода списка файлов каталога, чтобы проверить, существует ли файл, который нужно переименовать, или нет.

Теперь, чтобы убедиться, что файл переименован или нет, снова перечислите файлы текущего рабочего каталога.

Чтобы переименовать файл в каталоге отдельно от текущего каталога: Для переименования файла будет использоваться указанный ниже синтаксис функции «os.rename()»:

$ os.rename("source file", "destination file")

 

  • исходный файл: путь к файлу + старое имя файла
  • целевой файл: путь к файлу + измененное/новое имя файла

 

Теперь напишите указанный ниже код в Python_file.py, чтобы переименовать «old_andreyex.txt» в «new_andreyex.txt» в каталоге рабочего стола:

import os



os.rename("/home/masterand/Desktop/old_andreyex.txt","/home/masterand/Desktop/new_lin



uxhint.txt")

 

Нажмите « ctrl + s », чтобы сохранить файл, и « ctrl + x », чтобы выйти из файла.

Используйте команду ls для вывода списка файлов каталога рабочего стола, чтобы проверить, существует ли файл, который нужно переименовать, или нет.

Теперь, чтобы убедиться, что файл переименован или нет, снова перечислите файлы каталога Desktop.

Чтобы переименовать несколько файлов: мы также можем изменить имя нескольких файлов одновременно. Например, у меня в каталоге рабочего стола есть три файла: file1, file2, file3, и мы хотим добавить префикс «andreyex_» ко всем трем именам файлов, а затем запустить указанный ниже код в «Python_file.py».

import os



for textfile in os.listdir("/home/masterand/Desktop"):



os.rename(textfile,f"/home/masterand/Desktop/andreyex_{textfile}")

 

Вы можете изменить команду в соответствии с вашими требованиями; вы можете выбрать имена файлов и каталог, в котором они существуют, по вашему выбору.

Заключение:

Функция модуля ОС Python под названием os.rename() используется для переименования файлов с помощью Python. Мы можем переименовывать файлы, используя разные методы, но в этой статье мы обсудили, как переименовывать файлы в текущем каталоге, кроме текущего каталога, и как переименовывать несколько файлов с помощью модуля Python OS. Если вы программист на Python и хотите переименовать файл/файлы с помощью Python, эта статья наверняка вам поможет.



2021-10-11T10:53:05
Python

Графический планшет Gaomon S620 в Linux

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

В графических редакторах мышкой не получается точных и быстрых движений, и тут нам на помощь приходит графический планшет. В этой статье будет рассмотрена работа с графическим планшетом в Linux на примере Gaomon S620.

Читать