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

Самые новые учебные пособия по Python

Python — популярный язык программирования, который применяется в самых разных областях.

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

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

Читать

Как переместить файл в другой каталог в Python

Файл используется для постоянного хранения данных. Иногда нам требуется переместить расположение файла с одного пути на другой для целей программирования. Эту задачу можно выполнить с помощью скрипта Python несколькими способами. Move() — это наиболее часто используемый метод Python для перемещения файла из одного каталога в другой каталог, определенный в модуле shutil. Другой способ перемещения файла с помощью метода rename(), который определен в модуле os. Эти два метода можно использовать для перемещения файла из одного каталога в другой, как описано в этой статье.

 

Пример 1: Переместить файл с исходным именем

Способ перемещения файла из одного места в другое с исходным именем показан в следующем скрипте. Модуль shutil импортируется в скрипт для использования функции move() для перемещения файла. Модуль пути импортируется для использования функции exists() для проверки того, существует ли данное имя файла или нет. Если файл существует, будет определен целевой путь к файлу, куда он будет перемещен. Место назначения будет напечатано после перемещения файла. Если файл не существует, будет напечатано сообщение об ошибке.

# Импортировать модуль shutil



import shutil



# Импортировать модуль пути из ОС



from os import path





# Задайте имя файла с путем



source_path = "fruit.txt"





# Проверьте, существует ли файл



if path.exists(source_path):



# Задайте путь к каталогу, в который будет перемещен файл



destination_path = "Files"



# Переместите файл в новое место



new_location = shutil.move(source_path, destination_path)



# Распечатать новое расположение файла



print("% s перемещен в указанное место,% s" % (source_path , new_location))



else :



# Распечатать сообщение, если файл не существует



print ("Файл не существует.")

Вывод

Здесь файл fruit.txt существует, и он перемещен в папку Files.

 

Пример 2. Переместить файл с новым именем

Способ перемещения файла из одного места в другое путем переименования файла показан в следующем сценарии. Модули shutil и path были импортированы для перемещения файла и проверки его существования. Новое имя файла определено в пути назначения файла. Если файл перемещен успешно, то путь к файлу с новым именем будет напечатан, иначе будет напечатано сообщение об ошибке.

# Импорт модуля shutil



import shutil



# Импорта из OS



from os import path





# Установить имя файла с путем



source_path = «dept.txt»





# Проверьте файл существует или нет



if path.exists(source_path):



# Задайте путь к каталогу назначения с новым именем



destination_path = "Files/department.txt"



# Переместите файл в новое место



new_location = shutil.move(source_path, destination_path)



# Распечатать новое расположение файла



print("{0} перемещается в нужное место, {1}".format(source_path,new_location))



else:



# Распечатать сообщение, если файл не существует



print("Неверный путь к файлу.")

Вывод

Здесь, файл, dept.txt, существует, и он был переименован с именем department.txt и перемещено в папку Files.

 

Пример 3. Перемещение папки с несколькими файлами

Способ перемещения папки с несколькими файлами показан в следующем сценарии. Здесь переменная source_path содержит исходный путь к папке, а переменная destination_path содержит путь к целевой папке. Остальное содержимое сценария такое же, как в двух предыдущих примерах.

# Импортировать модуль shutil



import shutil



# Импортировать модуль пути из ОС



from os import path





# Установить путь к каталогу файлов для перемещения



source_path = "Images/dice"





# Проверить, существует



if path.exists(source_path):



# Задайте путь к каталогу



destination_path = "Files/dice"



# Переместите каталог с файлами в новое место



new_location = shutil . ход ( source_path , destination_path )



# Распечатать новое расположение



new_location = shutil.move(source_path, destination_path)



else :



# Распечатать сообщение, если путь к каталогу не существует



print("Недопустимое расположение каталога.")

Вывод

Согласно сценарию, папка dice переместилась в папку Files/dice.

 

Пример 4. Перемещение всех файлов и папок определенного каталога

Способ перемещения одной папки с несколькими файлами был показан в предыдущем примере. Но папка или каталог может также содержать несколько папок с несколькими файлами. В этом примере показано, как переместить этот тип папки в другое место. Модуль os был импортирован в этот сценарий для использования функции rename(), которая перемещает содержимое папки с вложенными папками и несколькими файлами. Функция listdir() используется для создания списка файлов и папок исходной папки. Затем цикл for использовался для повторения списка и перемещения содержимого исходной папки в целевую папку с помощью функции rename().

# Импортировать модуль os



import os



# Установить путь к каталогу файлов для перемещения



source_path = "documents/"



# Проверить, существует ли путь к каталогу,



if os.path.exists(source_path):



# Задайте путь к каталогу



destination_path = "Files/"



# Создайте список файлов и папок исходного пути



filelist = os.listdir(source_path)





# Итерировать список файлов и папок



for file in filelist:



os.rename(source_path + file, destination_path + file)



# Распечатать новое местоположение



print("Все файлы и папки {0} перемещаются в нужное место, {1}".format(source_path, destination_path))



else:



# Распечатать сообщение если путь к каталогу не существует,



print("Неверный путь к каталогу.")

Вывод

По сценарию все файлы и папки папки с документами переместились в папку Files.

 

Вывод

В этой статье показаны различные способы перемещения одного или нескольких файлов. Использование модулей shutil и os для перемещения файлов и папок было объяснено на простом примере, который легко помогает пользователям python выполнять этот тип задач.



2021-03-25T12:49:54
Python

Сравнение Django и SQLAlchemy

По мере того, как со временем развивается и совершенствуется все больше и больше технологий, количество пользователей, получающих доступ в Интернет, растет еще больше, и в результате объем данных, с которыми приходится иметь дело предприятиям и организациям, растет в геометрической прогрессии. Чтобы компания была успешной, ей нужны инструменты и инфраструктура, которые могут легко работать с этими большими наборами данных. Именно здесь появляется база данных, которая в основном предназначена для хранения и сбора данных. Более того, его организованная форма позволяет пользователям легко управлять набором данных и получать к нему доступ. Сами базы данных требуют системы управления, которая позволяет им хранить и предоставлять доступ к данным. В основном язык SQL используется для выполнения операций в базе данных, однако по мере роста и усложнения вашего приложения,

Альтернативой этому была разработана структура ORM (объектно-реляционное сопоставление), которая фактически создает мост между базой данных и языком программирования, который вы предпочитаете использовать при создании своего приложения. В этой статье мы рассмотрим и сравним плюсы и минусы двух наиболее популярных и широко используемых ORM, Django и SQLAlchemy.

 

Django против SQLAlchemy

Оба ORM — Django и SQLAlchemy — два самых популярных инструмента реляционного сопоставления на основе Python, и каждый из них имеет свои собственные уникальные преимущества. Давайте теперь перекрестно исследуем и рассмотрим оба их различия бок о бок.

 

1) Реализация уровня доступа к данным

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

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

 

2) Лучше со сложными запросами

И Django, и SQLAlchemy — два отличных ORM, которые предоставляют одни из лучших функций, которые вы можете найти в инструментах реляционного сопоставления. С точки зрения обработки сложных запросов SQLAlchemy имеет преимущество, поскольку он намного лучше взаимодействует с базой данных и, как результат, его можно использовать для написания сложных запросов без необходимости возвращаться к необработанному SQL. Чтобы понять эту концепцию, давайте взглянем на следующие запросы, написанные как на Django, так и на SQLAlchemy.

Django:

Football.objects.filter(team__name="Manchester United")

SQLAlchemy:

SQLAlchemy: session.query(Football).join(Football, Team).filter(Team.name=="Kamma Sing")

 

Как видно из синтаксиса двух ORM, Django выглядит более абстрактным в своем запросе и показывает только установленное соединение между различными таблицами базы данных, в то время как SQLAlchemy идет гораздо глубже. Это различие между ними показывает, что Django гораздо более ленив и эффективнее справляется со сложными запросами.

 

3) Поддержка сообществ и баз данных

И Django, и SQLAlchemy являются чрезвычайно популярными фреймворками для реляционного сопоставления, и они поддерживаются некоторыми чрезвычайно удивительными сообществами. Последний, однако, превосходит это, поскольку имеет гораздо большее сообщество вместе с совершенно потрясающей документацией, которая свидетельствует о том, что члены сообщества вкладывают в это свое время. Даже если вы столкнетесь с какой-либо проблемой, вы можете легко опубликовать сообщение на StackOverflow или других форумах, и там найдется большое количество людей, желающих вам помочь.

Наряду с этим и Django, и SQLAlchemy поддерживают большой набор баз данных, таких как MySQL, PostgreSQL, Oracle и SQLite. Для пользователей, которые уже используют Microsoft SQL или планируют это сделать, SQLAlchemy снова является ответом, поскольку MSSQL обеспечивает его полную поддержку.

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

 

4) Приложения

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

Однако, если ваши веб-приложения или фреймворки требуют немного более сложных запросов, то SQLAlchemy — это то, что вам нужно. В дополнение к этому, поскольку он напрямую взаимодействует с базой данных, вы можете просто запускать запросы к базе данных, фактически не используя ORM. Кроме того, SQLAlchemy намного мощнее, чем Django, хотя и требует немного большего обучения.

 

Вывод:

И Django, и SQLAlchemy являются чрезвычайно популярными инструментами объектно-реляционного сопоставления, имеют большие сообщества для их поддержки и используются в широком спектре приложений по всему миру. Какой из них вам больше подходит? Это в основном зависит от ваших требований и от того, где именно вы хотите их использовать. В общем, оба являются отличным выбором для использования в качестве вашей системы ORM.



2021-03-24T13:28:16
Базы данных

Что такое Django ORM?

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

Базы данных являются одной из самых популярных технологий, используемых для сбора и организации данных, поскольку они позволяют легко получить доступ к данным, управлять ими и обновлять их. Однако этим базам данных требуется система управления для выполнения этих задач. В основном язык SQL используется для выполнения операций в базе данных, однако по мере того, как ваше приложение растет и становится более сложным, становится чрезвычайно трудно иметь представление о том, что именно делает каждая операция. Именно здесь на сцену выходит техника объектно-реляционного сопоставления (ORM). Это позволяет запрашивать данные и манипулировать ими с помощью любого объектно-ориентированного языка программирования по вашему выбору. ORM уменьшают сложность вашего кода и делают его более понятным, что, в свою очередь, упрощает обновление, поддержку и повторное использование кода.

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

 

Что такое Django?

Прежде чем мы перейдем к рассмотрению ORM Django, давайте сначала посмотрим, что на самом деле представляет собой эта технология Pythonic под названием Django.

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

Давайте теперь наконец посмотрим на Django ORM и некоторые из его основных функций.

 

Доступ к Django ORM

После установки Django и настройки его проекта нам обычно предоставляются следующие исходные файлы:

Что такое Django ORM?

 

Здесь mysite относится к имени созданного вами проекта. Все эти файлы используются по-своему, и важно знать, какую роль играет каждый файл. Здесь мы сосредоточимся на файле manage.py, который будет контролировать для нас множество различных вещей, таких как настройка сервера, выполнение миграций, связь с базой данных, а также вход в режим ORM.

Чтобы открыть Django ORM, откройте командную строку из основного каталога вашего проекта Django и выполните следующую команду:

$ python manage.py shell

 

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

 

Управление базой данных с помощью запросов в Django ORM

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

$ from appName.models import modelName

 

Здесь appName относится к имени вашего приложения, которое вы создали, и, следовательно, где в настоящее время хранятся ваши модели. ModelName относится к имени модели, которую вы хотите импортировать и использовать. Здесь вы можете импортировать несколько моделей.

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

$ Post.objects.all()

 

В ORM мы можем делать несколько других вещей, таких как создание новых данных базы данных, обновление данных и все другие команды базы данных, которые вы можете.

 

Моделирование базы данных

Одна из лучших вещей, которые Django ORM предоставляет своим пользователям, — это возможность автоматически связывать и устанавливать отношения между атрибутами объекта вашей модели и соответствующими полями таблицы. В базах данных существуют в основном три типа отношений. это отношения «один к одному», отношения «один ко многим» или «многие к одному» и отношения «многие ко многим».

Отношение «один к одному», как следует из названия, означает, что запись одной таблицы соответствует одной записи другой таблицы. В Django ORM мы можем легко установить это следующим образом:

class Parent(models.Model):

user = models.OneToOneField(

User,

on_delete=models.CASCADE,

primary_key=True,

)

name_of_father = models.CharField(max_length=100)

name_of_mother = models.CharField(max_length=100)

 

Здесь у каждого пользователя могут быть только одинокие биологические родители, и, следовательно, это отношения один-к-одному. Теперь, если мы удалим любого пользователя, имеющего доступ к этой модели, он также удалит модель 2-го пользователя, поскольку они зависят друг от друга.

Отношения «один ко многим» или «многие к одному» относятся к отношениям, при которых родительская запись может иметь несколько дочерних записей, однако у нее может быть только один дочерний элемент или ни одного дочернего. В Django ORM мы можем легко установить эту связь с помощью поля ForeignKey:

class Customer(models.Model):

name = models.CharField(max_length=255)

class Vehicle(models.Model):

customer = models.ForeignKey(

Customer,

on_delete=models.CASCADE

)

 

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

Наконец, отношения «многие ко многим» определяют отношения, при которых несколько таблиц могут быть связаны друг с другом. Мы можем создать это с помощью поля ManyToMany. В приведенном ниже примере мы создали две модели: одну для пользователя, а другую — для его сообщений. Также может быть несколько пользователей, поскольку у каждого пользователя может быть несколько сообщений.

class User(models.Model):

post = models.ManyToManyField(Post, blank=True)

friends = models.ManyToManyField(settings.AUTH_USER_MODEL, blank=True)

class Post(models.Model):

post = models.TextField()

likes = models.ManyToManyField(settings.AUTH_USER_MODEL, blank=True, related_name='user_likes')

Вывод

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



2021-03-22T11:58:27
Python

Что такое случайные функции Python?

Python предоставляет несколько функций для генерации случайных чисел. Большинство этих функций доступны в модуле Python random. Вы можете использовать эти функции для генерации случайных чисел в ваших скриптах Python.

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

  1. random()
  2. randint()
  3. uniform()
  4. randrange()
  5. choice()

 

1. Функция random() в Python:

Эта функция возвращает случайное значение с плавающей запятой от 0 до 1. Вы также можете указать диапазон, чтобы переопределить значения по умолчанию.

import random



# Выведите случайное число с плавающей запятой от 0 до 1

x = random.random()

print (x)



# Выведите случайное число с плавающей запятой от 0 до 10

x = random.random() * 10

print (x)



# Выведите случайное число с плавающей запятой между -5 и +5

x = random.random() * 10 – 5

print (x)

2. Функция randint() в Python:

Функция randint() принимает диапазон и выдает целое число между заданным диапазоном.

import random



# Выведите случайное целое число от 10 до 100

x = random.randint(10, 100)

print (x)

3. Функция uniform() в Python:

Так же, как функция randint() генерирует целое число в заданном диапазоне, uniform() делает то же самое для чисел с плавающей запятой. import random

# Выведите число с плавающей запятой от 10 до 50



x = random.uniform(10, 50) print (x)

4. Функция randrange() в Python:

Функция randrange() используется для выбора целочисленного значения в определенном диапазоне. Вы также можете указать выбор четного или нечетного числа в диапазоне.

import random



# Выведите целое число от 0 до 9

x = random.randrange(10)

print (x)



# Выведите целое число от 10 до 99

x = random.randrange(10, 100)

print (x)



# Выведите четное целое число от 10 до 99

x = random.randrange(10, 100, 2)

print (x)

5. Функция choice() в Python:

Функция Python choice() используется для выбора одного случайного элемента из последовательности.

import random



# Выберите случайный элемент из приведенной ниже последовательности

x = random.choice([‘red’, ‘geen’, ‘yellow’])

print (x)



2021-03-16T19:29:51
Python

Учебники по Python для начинающих, изданные в 2018 году

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

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

Давайте теперь копнем глубже и рассмотрим книги 2018 года выпуска. Да, они не только из-под пресса, но вполне сохраняют актуальность. Читать