Познакомимся с Bonding интерфейсами на роутерах Mikrotik. Bonding — это логические интерфейсы, которые позволяют объединить в себя несколько физических портов для балансировки и отказоустойчивости.
Байты в строку в 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, мы ежедневно работаем над разными языками, и иногда мы получаем ошибку из-за байтов. Итак, в этой статье мы пытаемся дать некоторые методы преобразования байтов в строку, чтобы при применении любых методов, связанных со строкой, вы не получали никаких ошибок.
В этом руководстве мы представили все концепции, которые можно использовать для преобразования байтов в строки. Вы можете выбрать в соответствии с требованиями вашей программы.
JavaScript с нуля

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

Книга Python: быстрый старт. Всегда хотели научиться программировать на Python, но не знаете, с чего начать? Или хотите быстро перейти с другого языка на Python? Уже перепробовали множество книг и курсов, но ничего не подходит?
Все когда-то были новичками. Мы об этом часто забываем, но появляются новые поколения, которые хотят как можно быстрее и с минимум усилий освоить «незнакомый язык»
Не судите новичков строго, если вы гуру программирования, вам эта книга не нужна, но возможно она пригодится вашему ребенку, брату, сестре, другу или подруге 😉
Серия «Быстрый старт» — отличное решение, и вот почему: сложные понятия разбиты на простые шаги — вы сможете освоить язык Python, даже если никогда раньше не занимались программированием; все фундаментальные концепции подкреплены реальными примерами; вы получите полное представление о Python: структуры управления, методы обработки ошибок, концепции объектно-ориентированного программирования и т. д.; в конце книги вас ждет интересный проект, который поможет усвоить полученные знания.
2021-10-11T16:26:36Книги и Курсы
Как сделать git локальным так же, как удаленный
Поддержка Git управления локальными и удаленными репозиториями помогла сделать вычисления более удобными. Удаленные репозитории управляются на сервере, тогда как локальные репозитории поддерживаются на машине и могут быть доступны без доступа в Интернет. Git предлагает две поддержки потоковой передачи: одна — восходящая, а другая — нисходящая; восходящий относится к тому месту, где вы клонируете своего представителя, а нисходящий поток позволяет вам интегрировать вашу работу с другими работами.
Поскольку Git — это программное обеспечение для распределенного управления версиями, параллельная работа может привести к путанице, поскольку несколько участников вносят изменения в один проект. Таким образом, рекомендуется синхронизировать удаленные и локальные репозитории, чтобы избежать каких-либо неудач, например, от вас может потребоваться вернуться к некоторым предыдущим версиям, что может потребовать бюджета и времени.
При работе в среде, где иногда вам приходится вносить изменения удаленно, и вы хотите, чтобы те же изменения присутствовали и в вашем локальном репозитории. Принимая во внимание важность синхронизации, мы подготовили это руководство, чтобы продемонстрировать, как сохранить локальный репозиторий таким же, как удаленный:
Как сделать локальный репозиторий таким же, как удаленный
В этом разделе перечислены шаги по постоянному обновлению локального репозитория; всякий раз, когда удаленный репозиторий фиксирует изменения; можно выполнить шаги, описанные в этом разделе, чтобы применить эти изменения и в локальном репозитории:
Шаг 1. Клонируйте удаленный репозиторий на локальный
В качестве примера мы берем проект GitHub и хотим клонировать этот проект на нашу машину. Для этого выполните команду, указанную ниже, чтобы клонировать пульт в указанный каталог: (в вашем случае ссылка на проект будет другой)
$ git clone https://github.com/marcusanth/Bat-inspired-test-case-prioritization.git
После клонирования проекта; измените рабочий каталог терминала на каталог, в котором вы клонировали проект.
Шаг 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 является отслеживание версии по времени, обеспечение конфиденциальности данных, хранящихся в репозиториях, и предоставление онлайн- и офлайн-доступа путем создания удаленных и локальных репозиториев. Однако также рекомендуется сохранить локальный репозиторий таким же, как и удаленный; так что содержимое, сохраненное в обоих репозиториях, остается неизменным. В этом описательном руководстве мы предоставили пошаговую процедуру синхронизации локального репозитория так же, как и удаленного репозитория. Более того, если какие-либо добавления выполняются в локальном репозитории и недоступны на удаленном компьютере, эти изменения будут удалены, чтобы данные остались прежними.
Как переименовать файл в 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, эта статья наверняка вам поможет.
