Архив метки: Python

Базовое имя Python

Python предоставляет различные методы взаимодействия с операционной системой для управления именами файлов и именами каталогов через модуль os. В этой статье обсуждается один из встроенных методов Python, используемых для получения базового имени файла по заданному пути: метод os.path.basename(), который позволяет нам извлечь имя файла из указанного пути.

Мы должны использовать os.path.basename() в коде, импортируя модуль os. Этот метод os.path.basename() дополнительно использует функцию split() для разделения строки пути на пару, которая будет возвращать начало и конец. Головная часть предназначена для имени каталога, а хвостовая часть возвращается методом os.path.basename(). Давайте подробнее об этом методе.

 

Синтаксис базового имени Python:

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

Os.path.basename(path)

 

Os.path — это подрежим модуля os для манипулирования именами путей. Итак, сначала нам нужно импортировать модуль os для этого метода базового имени.

 

Параметр передается в базовом имени python:

Этот метод os.path.name() принимает только указанную строку пути, представляющую путь к файловой системе.

 

Возвращаемое значение в базовом имени python:

os.path.basename() вернет значение в строке заданного пути, которое является базовым именем файла. Теперь у нас будет простой пример реализации того, как работает этот метод os.path.basename().

 

Пример 1:

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

В окне используется разделитель с обратной косой чертой ‘’; мы можем проверить или подтвердить этот разделитель с помощью метода os.path.sep(). Переменная «file_dir» имеет путь «UsersabcDownloadsMy Window», который является именем каталога файла, а «file_name» имеет путь, заданный «UsersabcDownloadsMy Windowindex.html». Обе переменные возвращают базовое имя файла с синтаксисом Window. Мы также будем печатать разделитель окон с помощью метода os.path.sep().

import os.path



file_dir = os.path.basename("UsersabcDownloadsMy Window")



print(file_dir)



file_name = os.path.basename("UsersabcDownloadsMy Windowindex.html")



print(file_name)



print(os.path.sep)

 

Экран консоли покажет выходные данные, печатающие имя каталога файла, базовое имя файла и знак разделителя.

Теперь у нас есть разделитель Unix, используемый в этом примере ниже. Unix использует косую черту ‘/’ в качестве разделителя пути. Мы можем получить этот разделитель, напечатав метод os.path.sep().

import os.path



file_dir = os.path.basename("/Downloads/ My Unix")



print(file_dir)



file_name = os.path.basename("/Downloads/ My Unix /unix.txt")



print(file_name)

 

Пример 2:

Давайте рассмотрим пример извлечения имени файла с помощью метода os.path.basename(). Мы импортировали os.path для доступа к методу os.path.basename() в этом конкретном примере. У нас есть «базовое имя», которое вернет базовое имя файла, которое мы назначили в os.path.basename. С оператором print() у нас будет базовое имя.

import os.path



basename = os.path.basename("/home/example/exampleFile.txt")



print(basename)

 

Здесь у нас есть «/home/example/» в качестве имени пути и «exampleFile.txt» в качестве базового имени.

 

Пример 3:

В этом примере мы найдем базовое имя каталога или имени папки. Имя папки или каталога также имеет базовое имя в полном пути. В этом примере у нас есть «Документы» в качестве базового имени из пути «/home/MyDocuments/Documents», который передается в os.path.basename(). Переменная ‘basename’ вернет вывод, который вызывается в функции print().

import os.path



basename = os.path.basename("/home/MyDocuments/Documents")



print(basename)

 

Мы получим «Документы» в качестве базового имени из приведенного выше кода.

 

Пример 4:

Чтобы получить базовое имя из URL-адреса, нам нужно импортировать библиотеку из модуля стандартного пакета urllib, который называется urlparse. Это поможет нам разделить строки URL на компоненты или снова объединить строку URL в компоненты.

В этом примере будет получено базовое имя URL-адреса для формирования переменной «URL», которая имеет строковый URL-адрес «https://docs.python.org/3/download.html». URL-адрес передается в метод urlparse() в качестве аргумента, который разделит URL-адрес на части. Этот анализ URL-адреса хранится в новой переменной «x», которая будет отображать строку разделенного пути URL-адреса. На этот раз мы используем os.path.basename() через оператор печати.

import os



from urllib.parse import urlparse



url = "https://docs.python.org/3/download.html"



x = urlparse(url)



print(x.path)



print(os.path.basename(x.path))

 

Отображение разделенной строки URL-адреса и базового имени из URL-адреса.

 

Пример 5:

В этом примере используется метод os.path.split() для возврата пары «голова» и «хвост» по отдельности. Для этого мы должны передать указанный путь в качестве аргумента в метод os.path.split(). Мы получим «голову» и «хвост» отдельно через оператор печати.

import os



path = "/Users/Desktop/Article/python/code.py"



head_tail = os.path.split(path)



print(head_tail)

 

Вы можете увидеть вывод этого кода, поскольку он показывает головную часть и хвостовую часть по отдельности.

 

Пример 6:

Мы извлекли базовое имя и расширение, определенные в этом примере. Мы будем извлекать имя файла без расширения с помощью другого метода os.path.splitext(). Этот метод даст только базовое имя, определенное в os.path.basename().

Мы назначили путь как «home/example/example3.txt» в переменной «basename». Используйте индекс как «0», чтобы получить базовое имя без расширения.

import os.path



path_name="home/example/example3.txt"



basename = os.path.splitext(os.path.basename(path_name))[0]



print(basename)




 

У нас есть вывод basename как «example3» без расширения на экране консоли.

 

Заключение

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



2022-03-10T17:23:26
Python

Python. встроенный If-Else

Язык программирования Python удобен для чтения и эффективен при написании операций. В этой статье обсуждаются встроенные условные операторы if-else. В Python нет тернарного оператора, поэтому мы используем if-else в одной строке, что имеет тот же эффект, что и тернарный оператор. Это условие оценивает условия в состоянии истинности или ложности.

Как встроенные операторы if-else — это логические операторы, которые предлагают одну строку, которая сохраняет качество кода, заменяя несколько строк кода if-else. Встроенные операторы if-else следует использовать с выражениями и их выполнением на основе условий оценки.

 

Синтаксис встроенного if-else в Python

Чтобы написать встроенный оператор if-else, мы должны следовать этому синтаксису.

<expression1> if <condition> else <expression2>

 

В этом синтаксисе <expression1> будет возвращено или выполнено, если условие истинно, иначе будет возвращено или выполнено <expression2>, и эти условия всегда выполняются слева направо.

 

IndentationError во встроенном if-else

Python использует отступы, чтобы различать, какие строки кода соответствуют другим. Потому что файл Python может содержать несколько определений функций. Функция должна иметь одну строку кода, чтобы быть допустимой. Это также означает, что даже если условие истинно, должна быть выполнена хотя бы одна строка кода; в противном случае возникает исключение IndentationError с сообщением «ожидается намеренный блок».

 

Пример 1:

Давайте начнем с простого примера того, как работает это встроенное if-else. Помните, что условия оцениваются слева направо. Здесь мы определяем переменную «a» равной «5», а a_output имеет условие if-else, которое мы передаем функции print() для отображения вывода. Встроенное условие if-else здесь вернуло «20», если переменная «a» равна «20», иначе вернуло «10».

a = 5



a_output = "20" if  a==20 else "10"



print(a_output)

 

Итак, у нас есть «а» равно «5», поэтому условие ложно, и мы получаем 10 после выполнения этого кода.

 

Пример 2:

В этом примере у нас есть две переменные во встроенном операторе as. В коде мы определяем переменную как «x» и присваиваем значение «20». Кроме того, у нас есть еще одна переменная, поскольку «y» равно «10». Таким образом, условие «y» равно «10», если «x» меньше «20», иначе будет напечатан «0». Что ж, передайте «x» через условие, поэтому слева направо, если «x» меньше «20», ответ будет «нет», поэтому мы ожидаем, что «y» будет «0». Давайте запустим пример и посмотрим на значение ‘y’.

x=20



y=10  if x<20 else '0'



print(y)

 

Здесь «у» равен «0», потому что условие ложно, так как «х» не меньше «20», он равен «20».

Из приведенного выше кода мы получили значение «y» как «0». Теперь, что, если «x» меньше «20», взяв значение «x» как «19». Мы ожидали, что «y» будет «10». Мы можем увидеть значение «y», напечатав значение.

x=19



y=10  if x<20 else '0'



print(y)

 

Поскольку у нас есть выходное значение «y» равное 10, условие истинно, поскольку «x» меньше «20».

 

Пример 3:

В этом конкретном примере у нас есть код строки. Присвоив значение «красный» переменной «цветок» и применив встроенное условие if-else, которое печатает «Цветок белый», если переменная «цветок» равна «белому», иначе будет напечатано выражение «цветок не белый». .

flower='red'



print("Цветок белый" if flower == 'white' else "Цветок не белый")

 

Значение цветка красное; в результате условие не выполняется, и реализуется оператор в другой части. Вы можете увидеть вывод ниже, который печатает «Цветок не белый».

 

Пример 4:

Все примеры представляют собой просто встроенные условия if-else, но сейчас мы обсудим вложенные условия if-else. Мы берем пример одобрения автомобильных прав для людей, имеющих возраст, равный 18 или старше 18 лет.

У нас есть переменная «age», которая принимает данные от пользователя. В условном встроенном заявлении будет напечатано «вы не имеете права подавать заявку», если возраст младше 16 лет. Если возраст составляет от 16 до 18, будет напечатано «нужно подождать, пока вам исполнится 18+»; в противном случае будет показано «вы имеете право подать заявку».

age = int(input("Введите ваш возраст = "))



message= 'Вы не имеете права подавать заявку' if age<16 else 'вам нужно подождать, чтобы вам исполнилось 18+' if 16<age<=18 else 'вы имеете право подать заявку'



print(message)

 

Вывод этого кода показывает сообщение «Вы не имеете права подавать заявку», поскольку пользователь вводит возраст 15 лет, что меньше 16 лет.

Теперь, когда пользователи вводят возраст 17 лет, мы печатаем «вам нужно подождать, чтобы вам исполнилось 18+», поскольку возраст составляет от 16 до 18.

На экране консоли было напечатано «вы имеете право подать заявку», поскольку возраст старше 18 лет.

 

Пример 5:

Это пример чрезвычайно очевидного случая в реальном времени, когда мы должны оценить несколько условий. Здесь мы должны выделить оценку из набранных баллов; мы определяем переменную «AndreyEx» и инициализируем ее значением «80».

Условие хранится в переменной с именем «Результат», которая будет печатать оценки от «А» до «Неудачно» при выполнении. На этот раз оценки выше 90, поэтому ожидается, что на выходе будет A+. Давайте запустим этот код, чтобы увидеть, каков результат этого кода.

AndreyEx = 95



Result = 'Grade = A+' if AndreyEx > 90 else 'Grade = A' if AndreyEx > 80 else 'Grade = B' if AndreyEx >70 else 'Grade = C' if AndreyEx >60 else 'Grade = D' if  AndreyEx > 40 else 'Fail'



print(Result)




Оценка A+ выводится на экран консоли.

 

Заключение

Мы подробно рассмотрели встроенные if-else в python с несколькими допустимыми примерами с помощью терминала Spyder. Встроенный if-else имеет гораздо более короткий и аккуратный код, который понятен и прост в использовании. Надеюсь, это поможет вам понять фундаментальную концепцию встроенных операторов if-else.



2022-03-07T20:29:58
Python

Добавление DataFrame в Pandas

Pandas — это специальный пакет Python, основанный на анализе, который специально используется для оценки и контрабанды данных Python. Он предлагает функцию «DataFrame()», которая была популярна для выравнивания данных Python в строках и столбцах, то есть в матричной форме. Как следует из названия, функция «append()» используется для добавления чего-либо в конец некоторой структуры. Таким образом, мы можем сказать, что в pandas функция append() должна использоваться для добавления данных из одного фрейма данных в конец другого фрейма данных. Таким образом, мы будем реализовывать некоторые примеры Python в Spyder 3, чтобы увидеть работу функции pandas DataFrame.Append() в Windows 10. Давайте начнем.

 

Пример 01:

Давайте начнем с первого примера, чтобы увидеть, как можно инициализировать фреймы данных Python с помощью pandas. В инструменте Python Spyder 3 мы импортировали пакет panda с ключевым словом «import» как объект «pd». Это будет использоваться для инициализации фрейма данных в коде. Итак, мы добавили новую переменную d1, получая новый фрейм данных pandas через объект «pd», используя функцию «DataFrame()». Функция DataFrame() предназначена для создания фрейма данных табличной формы при добавлении двух списков 2*2, т.е. строк в столбцы. Столбцы были названы как 1 и 2, используя структуру списка для них. Индексы для строк были объявлены как 1 и 2. Оператор печати здесь для вывода фрейма данных «d1» на консоль.

После создания первого фрейма данных мы также создали еще один фрейм данных тем же методом. Единственное изменение здесь в списках значений, т.е. другие значения. Оператор печати отображает второй фрейм данных d2 на консоли. Теперь предпоследний оператор печати сообщает нам, что мы будем отображать фрейм данных добавления. Таким образом, второй фрейм данных d2 был добавлен в конец первого фрейма данных d2 с помощью функции append(). Оператор печати отображает добавленный фрейм данных.

import pandas as pd

d1 = pd.DataFrame([['a', 'b'], ['d', 'e']], columns=list('12'), index=['1', '2'])

print("Dataframe 1 ...")

print(d1)

d2 = pd.DataFrame([['c', 'f'], ['g', 'h']], columns=list('12'), index=['1', '2'])

print("Dataframe 2 ...")

print(d2)

print("Appended Dataframe...")

print(d1.append(d2))

 

После того, как код был завершен, пришло время выполнить этот код Python, чтобы увидеть результаты. Используйте кнопку запуска Spyder 3 на панели задач и вперед. Взамен мы получили следующий результат. Он показывает первый и второй кадры данных отдельно. После этого на выходе отображается второй фрейм данных, добавленный к первому фрейму данных.

Добавление кадра данных Pandas

 

Пример 02:

Давайте рассмотрим еще один пример использования функции append() для соединения двух фреймов данных панд. На этот раз мы использовали словари для создания фреймов данных. Итак, мы запустили программу для импорта пакета pandas как «pd». Два фрейма данных, d1 и d2, были созданы и инициализированы с помощью функции pandas DataFrame() с объектом «pd». Мы инициализировали библиотеку в обоих фреймах данных, имеющих два значения пары ключей. Ключ представляет собой некоторый алфавит или символ, и он одинаков в обоих фреймах данных «x» и «y». В то время как пара ключей «x» и «y» — это два списка совершенно разных значений в каждом для обоих фреймов данных. Первые два оператора печати предназначены для отображения кадров данных d1 и d2 отдельно с разрывом строки на «n».

import pandas as pd    

d1 = pd.DataFrame({"x":[1, 3, 5], "y":[2, 4, 6]})  #использование словаря

d2 = pd.DataFrame({"x":[7, 9, 11], "y":[8, 10, 12]}) #использование словаря

print(d1, "n")

print(d2, "n")

print(d1.append(d2))

 

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

Добавление кадра данных Pandas

 

Пример 03:

Давайте взглянем на наш последний пример использования фрейма данных panda с функцией append(), чтобы объединить их в один. На этот раз мы начали наш код с создания двух словарей строкового типа, dic1 и dic2, после импорта пакета панды как объекта «pd». Оба словаря dic1 и dic2 имеют 3 значения пары ключей. Ключи имеют строковые типы, первые два значения — списки строкового типа, а последнее значение ключа — списки целочисленного типа. dic1 и dic2 были преобразованы во фрейм данных pandas путем вызова функции DataFrame с объектом pandas «pd». Кадры данных сохраняются в d1 и d2. Теперь функция append() используется для соединения d1 с d1 и сохраняется в переменной d3. Фрейм данных соединения d3 распечатывается с помощью функции print().

import pandas as pd

dic1 = {

    'Name': ['John', 'William', 'Laila'],

    'FName': ['Jack', 'Worth', 'Sky'],

    'Age': [36, 50, 25]

}

dic2 = {

    'Name':['Elizebath', 'Diana', 'Marshal'],

    'FName':['Patinson', 'Penty', ''],

   'Age': [56, 25, 29]

}

d1 = pd.DataFrame(dic1)

d2 = pd.DataFrame(dic2)

d3 = d1.append(d2)

print("nThe appended dataframe:n", d3)






Кадры данных были добавлены и отображены в соответствии с выводом.

Добавление кадра данных Pandas

 

Вывод:

В этой статье было рассмотрено использование функций pandas DataFrame() и append() в python при использовании инструмента Spyder 3. Мы использовали списки и словари целочисленных, символьных и строковых типов для создания фреймов данных и последующего добавления их вместе. Мы надеемся, что это руководство окажется полезным при использовании  или любого другого инструмента Python.



2022-02-12T22:43:50
Python

Как инициализировать словарь в Python

Словари довольно разнообразны, когда дело доходит до их создания в коде Python. Существует множество методов, которые можно найти для инициализации словаря и использования других структур данных в этих методах. В этой статье мы обсудим, как инициализировать структуру данных словаря на языке Python. Мы использовали Spyder3 для реализации. Давайте начнем.

 

Пример 01: Инициализация пустого словаря

Начнем с первого примера создания словаря. Он будет самым простым и основным, т.е. пустым. Итак, в инструменте Spyder3 мы объявили переменную словаря с именем «Dic» и не присвоили ей никаких значений, т. е. пустую. Как показано, словарь обычно инициализируется фигурными скобками. Функция печати применяется к переменной Dic для печати ее значений.

Dic = {}



print(Dic)

 

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

Другой способ инициализировать словарь Python — использовать в коде его встроенную функцию «dict()». Итак, вам нужно объявить переменную и присвоить ей функцию «dict()» в качестве входного значения. После этого та же функция печати служит для вывода инициализированного словаря.

Dic = dict()



print(Dic)




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

 

Пример 02: Инициализировать с помощью литералов

Еще один отличный способ инициализировать словарь в Python — использовать литералы. Это наиболее распространенный метод объявления и инициализации словаря. Мы используем этот метод для объявления ключей в кавычках с двойными запятыми, а их значения будут разделены знаком двоеточия «:». В этом примере мы инициализировали имя словаря «Dic» с 5 значениями пары ключей. После этого оператор печати используется для печати инициализированного словаря.

Dic = {"One" : 7, "Two" : 10, "Three" : 45, "Four" : 23, "Five" : 77 }



print(Dic)

 

После интерпретации и выполнения отображается словарь, инициализированный литералами.

 

Пример 03: Инициализация путем передачи параметров

Еще один простой способ инициализировать простой словарь в python — передать словарю значения в параметрах. В рамках этого метода пока используется оператор присваивания. Мы объявили библиотеку «Dic» и инициализировали ее 5 ключами и 5 значениями с помощью оператора присваивания «=». Наконец, словарь был распечатан с помощью оператора печати.

Dic = dict(One = 70, Two = 45, Three = 75, Four = 83, Five = 9 )



print(Dic)

 

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

 

Пример 04: Список только ключей

В рамках этого метода мы рассмотрим, как создать словарь, содержащий ключи и имеющие одинаковые значения. Итак, мы объявили список, содержащий три строки. Мы должны использовать функцию «fromkeys()» в списке «Dic», чтобы преобразовать строки в ключи. Функция «dict» создает словарь из этих преобразованных ключей и сохраняет их в переменной «new». Теперь оно новое в словаре и распечатано.

Dic = ["A", "C", "Z"]



new = dict.fromkeys(Dic)



print(new)

 

После выполнения кода вы увидите, что строки успешно преобразованы в ключи словаря, имеющие одинаковое значение NULL для каждого.

Если вы не хотите печатать NULL в качестве значения ключей словаря, вы можете использовать другой аргумент в функции «fromkeys()». Как видите, мы присвоили ему значение 0.

Dic = ["One", "Two", "Three"]



new = dict.fromkeys(Dic, 0)



print(new)

 

Теперь значения словаря для его ключей заменены на 0 во всех местах.

 

Пример 05: Функция Zip для списков

Другой способ инициализировать и объявить словарь — использовать разные списки. Итак, мы начали эту программу с объявления и инициализации двух списков. List1 — это строковый тип, а List2 использует целочисленные значения. Функция Zip использует как List1, так и List2 в своем параметре в функции «dict» для преобразования значений списка в ключи и значения. List1 будет ключами, а list2 будет ключевыми значениями. Переменная Dic, т.е. преобразованный словарь, будет выведена на консоль.

List1 = [«One», «Two», «Three», «Four», «Five»]

List2 = [1, 2, 3, 4, 5]

Dic = dict(zip(List1, List2))

print(Dic)

 

На экране консоли вы увидите словарь, составленный из списков.

 

Пример 06: Понимание словаря

Понимание словаря очень похоже на понятие понимания списка, поскольку код показывает, что «List1» показывает ключи, а пустой список[] показывает значение этих ключей, т. е. пустой. Цикл «For» принимает диапазон 5. Переменная «Dic» выводится как строковый словарь.

Dic = {List1: []for List1 in range(5) }

print(«Dictionary:» + str(Dic))

 

Вывод показывает словарь из 5 ключей, то есть от 0 до 5 с [] в качестве значения для каждого при запуске.

Обновленный код инициализируется списком и заменяется [] на переменную списка, как показано ниже.

List = [1, 2, 3]

Dic = {List1: List for List1 in range(5) }

print(«Dictionary:» + str(Dic))

 

Список отображается как значение для каждого ключа словаря в выходных данных.

 

Вывод:

Это было все о создании и инициализации словарей в питоне. Все примеры, которые мы рассмотрели, просты и легки в реализации. Мы объяснили шесть уникальных примеров для вашего лучшего понимания. Рекомендуется выполнять их все



2022-02-02T15:05:01
Python

Proxmoxer. Работа с Proxmox API используя Python

В этой статья я покажу как с помощью языка программирования Python 3 и модуля Proxmoxer работать с API Proxmox.





Читать

Как инициализировать словарь в Python

Словари довольно разнообразны, когда дело доходит до их создания в коде Python. Существует множество методов, которые можно найти для инициализации словаря и использования других структур данных в этих методах. В этой статье мы обсудим, как инициализировать структуру данных словаря на языке Python. Мы использовали Spyder3 для реализации. Давайте начнем.

 

Пример 01: Инициализация пустого словаря

Начнем с первого примера создания словаря. Он будет самым простым и основным, т.е. пустым. Итак, в инструменте Spyder3 мы объявили переменную словаря с именем «Dic» и не присвоили ей никаких значений, т. е. пустую. Как показано, словарь обычно инициализируется фигурными скобками. Функция печати применяется к переменной Dic для печати ее значений.

Dic = {}



print(Dic)

 

После запуска этого двухстрочного кода мы получили пустой словарь в качестве вывода.

Другой способ инициализировать словарь Python — использовать в коде его встроенную функцию «dict()». Итак, вам нужно объявить переменную и присвоить ей функцию «dict()» в качестве входного значения. После этого та же функция печати служит для вывода инициализированного словаря.

Dic = dict()



print(Dic)




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

 

Пример 02: Инициализировать с помощью литералов

Еще один отличный способ инициализировать словарь в Python — использовать литералы. Это наиболее распространенный метод объявления и инициализации словаря. Мы используем этот метод для объявления ключей в кавычках с двойными запятыми, а их значения будут разделены знаком двоеточия «:». В этом примере мы инициализировали имя словаря «Dic» с 5 значениями пары ключей. После этого оператор печати используется для печати инициализированного словаря.

Dic = {"One" : 7, "Two" : 10, "Three" : 45, "Four" : 23, "Five" : 77 }



print(Dic)

 

После интерпретации и выполнения отображается словарь, инициализированный литералами.