Архив рубрики: Публикации

Как установить веб-клиент удаленного рабочего стола Guacamole на Ubuntu 20.04 LTS

Guacamole – это панель управления удаленным рабочим столом с открытым исходным кодом, используемая для управления системами Linux и Windows из веб-браузера. Он поддерживает стандартные протоколы, такие как VNC, RDP, SSH и Kubernetes, и на клиентском компьютере вам не нужно какое-либо дополнительное программное обеспечение . Guacamole поддерживает буфер обмена, передачу файлов через SFTP и позволяет управлять несколькими сеансами удаленного рабочего стола.




Рассмотрим как установить и настроить клиент удаленного рабочего стола Guacamole на сервере Ubuntu 20.04.




Первым делом обновим нашу систему




sudo apt-get update -y




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




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




sudo apt-get install make gcc g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev libssl-dev libvorbis-dev libwebp-dev -y




Для предоставления клиентского контента пользователям Guacamole использует Tomcat. Установить его можно с помощью следующей команды:




sudo apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y




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




systemctl start tomcat9
systemctl enable tomcat9




Вы также можете проверить статус службы Tomcat с помощью следующей команды:




systemctl status tomcat9







Установка сервера Guacamole




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




Сначала загрузите последнюю версию Guacamole с веб-сайта Apache, используя следующую команду:




wget https://downloads.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz




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




tar -xvzf guacamole-server-1.3.0.tar.gz




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




cd guacamole-server-1.3.0
./configure --with-init-dir=/etc/init.d




Если все в порядке, вы должны увидеть следующий результат:







Теперь скомпилируйте и установите Guacamole Server, выполнив следующую команду:




make
make install




Затем выполните следующую команду, чтобы обновить системный кеш установленных библиотек:




ldconfig




Теперь можно включить и запустить службу Guacamole, используя следующую команду




systemctl enable guacd
systemctl start guacd




Проверить статус службы Guacamole можно с помощью следующей команды:




systemctl status guacd







Установка клиента Guacamole




Затем вам нужно будет установить клиент Guacamole на свой сервер. Клиент Guacamole написан на Java и является кроссплатформенным.




Сначала загрузите двоичный файл Guacamole, используя следующую команду:




wget https://mirrors.estointernet.in/apache/guacamole/1.3.0/binary/guacamole-1.3.0.war




Создадим каталог /etc/guacamole и переместим туда скаченный файл.




mkdir /etc/guacamole
mv guacamole-1.3.0.war /etc/guacamole/guacamole.war




Затем создайте символическую ссылку клиента guacamole на каталог веб-приложений Tomcat с помощью следующей команды:




ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/




Наконец, перезапустите службу Tomcat и Guacamole, чтобы развернуть новое веб-приложение:




systemctl restart tomcat9
systemctl restart guacd




Настройка Guacomole




Далее необходимо настроить пользователей и подключения.




Сначала создайте основной файл конфигурации Guacamole с именем guacamole.properties.




nano /etc/guacamole/guacamole.properties




Добавьте следующие строки:




guacd-hostname: localhost
guacd-port:    4822
user-mapping:    /etc/guacamole/user-mapping.xml




Сохраните и закройте файл, когда закончите.




Далее вам нужно будет создать каталоги для библиотеки и расширения. Это можно сделать с помощью следующей команды:




mkdir /etc/guacamole/{extensions,lib}




Затем установите переменную среды домашнего каталога Guacamole и добавьте ее в файл конфигурации /etc/default/tomcat9.




echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat9




Затем вам нужно будет создать файл с именем user-mapping.xml, чтобы определить пользователя, которому разрешен доступ к веб-интерфейсу Guacamole.




Перед его созданием сгенерируйте хеш md5 для пароля с помощью следующей команды:




echo -n YourSecurePassw0rd | openssl md5




Вы должны увидеть следующий результат:




(stdin) = 7e6a8b547cef30b2b24ac84965f7afdc




Примечание : запомните указанный выше пароль md5. Вам нужно будет определить это в файле user-mapping.xml.




Cоздайте новый файл user-mapping.xml с помощью следующей команды:




nano /etc/guacamole/user-mapping.xml




<user-mapping>
    <authorize 
            username="admin"
            password="7e6a8b547cef30b2b24ac84965f7afdc"
            encoding="md5">

        <connection name="Ubuntu20.04-Server">
            <protocol>ssh</protocol>
            <param name="hostname">192.168.20.5</param>
            <param name="port">22</param>
            <param name="username">root</param>
        </connection>
        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">192.168.20.6</param>
            <param name="port">3389</param>
            <param name="ignore-cert">true</param>
            <param name="color-depth">24</param>
            <param name="width">1920</param>
            <param name="height">1080</param>
        </connection>
    </authorize>
</user-mapping>




Сохраните и закройте файл, когда закончите.




Где:




  • 192.168.20.5 – это IP-адрес удаленного сервера Ubuntu.
  • 192.168.20.6 – это IP-адрес удаляемого сервера Windows.




Затем перезапустите службу Tomcat и Guacamole, чтобы применить изменения:




systemctl restart tomcat9
systemctl restart guacd




На этом этапе сервер и клиент Guacamole установлены и настроены.




Доступ к веб-интерфейсу Guacamole




Теперь откройте свой веб-браузер и войдите в веб-интерфейс Guacamole, используя URL-адрес http://your-server-ip:8080/guacamole . Вы будете перенаправлены на страницу входа в Guacamole:







Введите имя пользователя и пароль, которые вы определили в файле user-mapping.xml , и нажмите кнопку «Login» . Вы должны увидеть панель управления Guacamole на следующей странице:







Настроить Nginx для Guacamole




Рекомендуется настроить Nginx в качестве обратного прокси для доступа к Гуакамоле через порт 80.




Сначала установите веб-сервер Nginx, используя следующую команду:




apt-get install nginx -y




После установки Nginx создайте новый файл конфигурации виртуального хоста Nginx:




nano /etc/nginx/sites-available/guacamole.conf




Добавьте следующие строки:




server {
        listen 80;
        server_name your-server-ip;
        access_log  /var/log/nginx/guac_access.log;
        error_log  /var/log/nginx/guac_error.log;

        location / {
                    proxy_pass http://your-server-ip:8080/guacamole/;
                    proxy_buffering off;
                    proxy_http_version 1.1;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection $http_connection;
                    proxy_cookie_path /guacamole/ /;
        }

}




Сохраните и закройте файл, когда закончите. Затем включите виртуальный хост Nginx с помощью следующей команды:




ln -s /etc/nginx/sites-available/guacamole.conf /etc/nginx/sites-enabled/




Перезапустите службу Nginx, чтобы применить изменения конфигурации:




systemctl restart nginx




Теперь вы можете получить доступ к своему Guacamole, используя URL-адрес http://your-server-ip .







Источник: https://admin812.ru/kak-ustanovit-veb-klient-udalennogo-rabochego-stola-guacamole-na-ubuntu-20-04-lts.html



2021-04-11T14:18:55
Software

Резервное копирование на домашний маршрутизатор с серым IP адресом

Когда-то давно я писал как использовать домашний маршрутизатор в качестве системы хранения данных и копировать на него по FTP резервные копии вашего сайта. Описанное в той публикации решение отлично работает при условии, что у вас на роутере «белый» IP адрес. Читать

Как использовать модуль PYTZ в Python

Значения даты и времени зависят от зоны. Эти значения необходимо изменить для тех приложений Python, которые требуют работы с международными пользователями. Согласно зоне, модуль dateTime Python не может преобразовывать значения даты и времени. Эту проблему можно решить, используя модуль pytz Python. Этот модуль не установлен в Python. Итак, вам необходимо установить этот модуль, прежде чем использовать его в скрипте. В этой статье показано, как модуль pyzt можно установить и использовать в Python.

 

Установите модуль PYZT:

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

$ pip install pytz

Пример 1: Распечатать все поддерживаемые и часто используемые часовые пояса

Следующий скрипт распечатает все поддерживаемые часовые пояса и широко используемые часовые пояса с помощью модуля pyzy . Модуль pyzt импортируется в начале скрипта. Атрибут pytz.all_timezones возвращает список всех поддерживаемых часовых поясов в виде объекта списка. Атрибут pytz.common_timezones возвращает список всех часто используемых часовых поясов в виде объекта списка. После выполнения этого скрипта будут напечатаны два списка.

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

import pytz 



# Распечатать все поддерживаемые часовые пояса

print('Часовые пояса, поддерживаемые модулем pytz: n', pytz.All_timezones, 'n ')



# Распечатать часто используемые часовые пояса

print('Обычно используемые часовые пояса: n', pytz.common_timezones, 'n ')

 

Пример 2: напечатать названия стран

Следующий скрипт распечатает список названий стран с кодами стран и название страны с конкретным кодом страны. Метод pytz.country_names.items() возвращает объект словаря названий стран с кодом страны. Коды стран назначаются в ключах объекта словаря, а названия стран назначаются в значениях объекта словаря. Цикл for используется в сценарии для печати названий стран с кодом страны в каждой строке путем повторения объекта словаря, возвращаемого функцией pytz.country_names.items(). Затем будет напечатано название страны с кодом страны «RU».

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

import pytz

'' '

Вывести название страны с кодом страны в каждой строке,

используя цикл for

' ''

print('country_names:')

for key, val in pytz.country_names.items():

print(val, '(', key, ')')



# Распечатать название страны с конкретным кодом страны

print('n Название страны на основе кода страны (RU):', pytz.country_names ['RU'])


 

Пример-3: Распечатать дату и время в зависимости от часового пояса

Значения даты и времени зависят от часового пояса. Следующий скрипт сначала напечатает дату и время текущего часового пояса. Затем часовой пояс будет изменен на US/Eastern с помощью метода pytz.timezone(), а дата и время будут напечатаны на основе US/Eastern часового пояса. Затем часовой пояс будет изменен на часовой пояс Europe/Moscow, а дата и время будут напечатаны в соответствии с часовым поясом Europe/Moscow. Дата и время часовых поясов UTC и IST будут напечатаны позже.

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

import datetime as dt



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

import pytz



# Получить текущую дату

source_date = dt.datetime.now()



# Распечатать текущие данные и время

print('Текущая дата и время: n', source_date)



# Установить часовой пояс на US/Eastern

currentTimeZone = pytz.timezone('US/Eastern')



# Вывести текущий часовой пояс Europe/Moscow

print('nЧасовой пояс установлен на: n', currentTimeZone)



# Прочитать и распечатать текущую дату и время часового пояса

currentDateWithTimeZone = currentTimeZone.localize(source_date)

print('Дата и время этого часового пояса: n', currentDateWithTimeZone)



# Установите целевой часовой пояс

newTimeZone = pytz.timezone('Europe/Moscow')

print('n Часовой пояс установлен на: n',newTimeZone)



# Прочитать и распечатать текущую дату и время нового часового пояса

newDateWithTimezone = currentDateWithTimeZone.astimezone(newTimeZone)

print('Дата и время этого часового пояса: n', newDateWithTimezone)



# Прочитать дату и время указанного часового пояса

print('n Datetime of UTC Time-zone:', dt.datetime.now(tz = currentTimeZone))

print('Datetime часового пояса IST:', dt.datetime.now(tz = newTimeZone))




 

Пример-4: Распечатать отформатированные дату и время

В предыдущих примерах значения даты и времени печатаются в формате по умолчанию. Следующий скрипт распечатает отформатированные данные и время в соответствии с выбранным часовым поясом. Формат даты и времени определен в начале скрипта. В соответствии с форматом дата будет напечатана в формате дд-мм-гггг, а время будет напечатано в формате чч: мм: сс. Затем часовой пояс будет назначен Europe/Moscow, а дата и время будут напечатаны с использованием функции strftime() в указанном выше формате. Затем часовой пояс будет присвоен Азии/Дакке и напечатан, как и раньше.

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

from datetime import datetime



# Импортировать модуль часового пояса

from pytz import timezone



# Установить формат даты и времени

dt_format = "%d-%m-%Y %H:%M:%S"



# Установить текущее время в зоне Europe/Moscow

moscowZone = datetime.now(timezone('Europe/Moscow'))

print('Дата и время зоны Moscow: n', moscowZone.strftime(dt_format))



# Измените часовой пояс на Asia/Dhaka

dhakaZone = moscowZone.astimezone(timezone('Asia/Dhaka'))

print('Дата и время зоны Дакки: n', dhakaZone.strftime(dt_format))




 

Заключение:

Модуль pyzt имеет множество встроенных функций для работы со значениями даты и времени различных часовых поясов. С помощью этого модуля значения даты и времени веб-сайта можно изменить в соответствии с часовым поясом посетителя. Основное использование этого модуля было объяснено в этой статье с использованием различных примеров, чтобы помочь читателям понять цель этого модуля.



2021-04-10T13:04:12
Python

5 причин, по которым вашей ветеринарной клинике необходимо внедрить мобильное приложение lifestyle

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

 

1. Повышайте доверие и лояльность клиентов

Сегодня потребители ценят прозрачный бизнес, и ветеринарные практики не исключение. Владельцы домашних животных сейчас связаны со своими питомцами крепче, чем когда-либо, и хотят обеспечить наилучший уход за своими товарищами. Утаивание медицинских карт пациентов от ваших клиентов может оставить негативное впечатление и вывести ваших клиентов из себя. Благодаря обмену цифровыми записями ваша практика может предложить вашим клиентам душевное спокойствие, тем самым создавая доверие между вами и вашими клиентами. С помощью мобильного приложения lifestyle, подробнее по ссылке: https://agilie.com/en/services/lifestyle-mobile-apps, вы контролируете, какая часть записи будет доступна для совместного использования, все или часть записей, таких как история болезни, рецепты, лабораторные работы и вакцины.

 

2. Экономьте время и энергию своей команды

Учитывая большое количество звонков, которые получает ваша клиника, скорее всего, значительная часть этих звонков — это клиенты, спрашивающие об истории болезни своего питомца. Обмен цифровыми записями может сэкономить ваше время и энергию за счет сокращения телефонного трафика и устранения необходимости отправлять записи, необходимые для других ветеринарных клиник, интернатов или магазинов по уходу. Не говоря уже о том, что обмен цифровыми записями может упростить утомительную и избыточную отправку документов по факсу, которая может обременить вашу команду. Согласно проведенному исследованию, клиники в общей практике тратят 30-40% своего времени на отправку, отправку и повторную отправку записей по факсу. Если вы знаете математику, это составит тысячи в месяц потраченного впустую рабочего времени команды, не говоря уже о затратах на выгорание и, как следствие, сокращение обслуживания клиентов.

 

3. Помогите клиентам справиться с незапланированными событиями

Клиенты ценят возможность лично ознакомиться с историей болезни своего питомца.

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

 

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

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

 

5. Клиенты службы поддержки должны делиться записями с доверенными лицами

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



2021-04-08T13:58:45
Программное обеспечение

Как получить доступ к SQLite из Python

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

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

SQLite — это простой, мощный механизм реляционной базы данных с открытым исходным кодом, который поддерживает большие программные приложения и встроенные системы. SQLite является автономным и требует минимальной настройки, что упрощает настройку и запуск с минимальными затратами времени. По умолчанию в Python встроен модуль SQLite(sqlite3), очень интуитивно понятный модуль для работы с базами данных SQLite в Python.

В этой статье мы рассмотрим, как использовать Python для работы с базами данных SQLite. От установления соединения до создания баз данных, чтения баз данных, обновления и удаления баз данных.

Начнем с установки SQLite:

 

Установка SQLite и Python

В зависимости от вашего дистрибутива Linux вы можете загрузить архив SQLite с https://www.sqlite.org/download.html или использовать диспетчер пакетов.

Чтобы установить его в Debian:

sudo apt-get update



sudo apt-get install sqlite -y

Затем у вас должна быть установлена ​​последняя версия Python3. По умолчанию Python должен быть предварительно установлен в вашем дистрибутиве.

 

Оболочка SQLite

Методом по умолчанию для взаимодействия с базами данных SQLite является использование оболочки. Оболочка позволяет выполнять встроенные команды SQL или набор для выполнения функций в базах данных.

Для запуска оболочки SQLite используйте команду:

$ sqlite

SQLite версии 2.8.17 Введите «.help» для получения инструкций.

sqlite >

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

sqlite> .help

.databases             List names and files of attached databases

.dump ?TABLE? ...      Dump the database in a text format

.echo ON|OFF           Turn command echo on or off

.exit                  Exit this program

.explain ON|OFF        Turn output mode suitable for EXPLAIN on or off.

.header(s) ON|OFF      Turn display of headers on or off

.help                  Show this message

.indices TABLE         Show names of all indices on TABLE

.mode MODE             Set mode to one of "line(s)", "column(s)",

"insert", "list", or "html"



----------------------------------------------------------------------

Для выхода из оболочки SQLite используйте команду .quit.

sqlite > .quit

Внутри оболочки SQLite можно использовать и другие функции и операции. Например, чтобы просмотреть все базы данных, вы можете использовать команду database.

Мы настоятельно рекомендуем вам поэкспериментировать с оболочкой SQLite и ознакомиться с ней, поскольку она позволит вам понять, как использовать модуль SQLite3 в Python.

 

Подключение к базе данных

Давайте теперь будем использовать модули Python и SQLite3 для взаимодействия с базами данных SQLite. Стоит отметить, что есть и другие модули Python, которые вы можете использовать для взаимодействия с SQLite. Однако SQLite3 прост и поставляется в комплекте с Python.

Рассмотрим приведенный ниже сценарий для подключения к базе данных SQLite.

import sqlite3 from sqlite3 import Error



def connect_db(db_path):

connection = None     try:

connection = sqlite3.connect(db_path)

print("База данных успешно подключена")

except Error as e:

print(f"Произошла ошибка: {e}")

return connection



connect_db("/home/user/Desktop/demo.sqlite")

Начнем с импорта модулей SQLite и Error.

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

Следующая часть включает блок попытки/ошибки. Первая часть принимает в качестве аргумента путь к базе данных и устанавливает соединение. Обратите внимание: в SQLite, если указанная база данных не существует, она создается автоматически.

Блок ошибок пытается перехватить исключения и распечатать их пользователю.

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

Примечание
Если вы хотите создать базу данных памяти вместо диска, вы можете указать: memory в объекте подключения.

sqlite3.connect(“:memory”)

SQLite создать таблицу

В SQLite мы можем использовать оболочку SQL для создания таблиц с помощью запроса CREATE TABLE. Общий синтаксис такой:

CREATE TABLE database_name.table_name (

column_name datatype PRIMARY KEY(column(s),

column2_name datatype,

…         columnN_name datatype,

);

Мы не будем углубляться в создание таблиц с использованием оболочки SQLite, поскольку наша основная задача — Python. Чтобы узнать больше, ознакомьтесь с документацией по SQL из приведенного ниже ресурса:

https://docs.microsoft.com/en-us/sql/?view=sql-server-ver15

 

Сейчас :

Чтобы использовать модули Python и sqlite3 для создания таблиц базы данных, нам нужно использовать объект курсора и выполнять функции SQL-запросов.

Рассмотрим код ниже:

import sqlite3 from sqlite3 import Error



def connect_db(db_path):

connection = None



try:

connection = sqlite3.connect(db_path)

print("База данных успешно подключена")

except Error as e:

print(f"Произошла ошибка: {e}")

return connection def run_query(connection, sql_query):

cursor = connection.cursor()

try:

cursor.execute(sql_query)

connection.commit()

print("SQL - Запрос успешно выполнился………………[OK]")

except Error as e:

print(f" Ошибка запроса……{e}")

query = """

CREATE TABLE IF NOT EXISTS users (

id INTEGER PRIMARY KEY AUTOINCREMENT,

name TEXT NOT NULL,

year INTGER,

genre TEXT,

country TEXT

);

"""



run_query(connection=connect_db("/home/user/Desktop/sql.sqlite"), sql_query=query)






Давайте теперь обсудим, что делает приведенный выше код — найдите первую функцию, описанную выше (см.).

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

Следующие строки создают объект курсора, который мы будем использовать для вызова метода execute.

Как упоминалось выше, следующие строки вызывают объект курсора для выполнения метода и вызывают передачу запроса в качестве параметра. Блок также выводит сообщение об успешном выполнении запроса.

После успешного выполнения запроса мы говорим SQLite использовать метод фиксации для сохранения изменений в базе данных.

Блок except перехватывает исключения и выводит пользователю сообщение об ошибке.

Наконец, мы создаем запрос для выполнения с использованием простого синтаксиса SQLite.

 

Вставка записей в SQLite

Чтобы добавить данные в базу данных SQLite, мы можем погрузиться в функцию run_query(), которую мы использовали для создания, поскольку она может выполнять любой запрос SQLite, который мы ей передаем. Однако мы используем запрос INSERT INTO для добавления данных в таблицу.

Рассмотрим блок ниже:

add_users = """

INSERT INTO

users (id, name, year, genre, country)

VALUES

("101", "AndreyEx", "2021", "IT", "Russia"),

("201", "Destroyer", "2017", "IT", "Russia"),

("301", "Annihilator", "2016", "IT", "Russia");

""" run_query(connection=connect_db("/home/user/Desktop/sql.sqlite"), sql_query=add_users)

Теперь нам нужно вызвать функцию run_query и добавить передачу запроса add_users для вставки данных в таблицу users. Убедитесь, что таблица, в которую вы вставляете данные, существует, чтобы избежать ошибки.

 

SQLite Удалить записи

Вы также можете использовать функцию run_query() для удаления записей из указанной таблицы. Все, что вам нужно, это установить запрос как DELETE FROM.

Рассмотрим следующий подзапрос:

remove = "DELETE FROM users WHERE name = 'AndreyEx'" run_query(connection=connect_db("/home/user/Deskop/sql.sqlite"), sql_query=remove)

Вышеупомянутый запрос удаляет «AndreyEx» из таблицы users.

 

Заключение

В этой статье вы научились использовать Python для доступа к базам данных SQLite и взаимодействия с ними.

Из того, что вы узнали из этой статьи, теперь вы можете создавать функции, подключаться к базам данных SQLite, создавать таблицы, вставлять данные и удалять их. Хотя это руководство для начинающих по работе с SQLite в Python, оно должно помочь вам начать изучение других технологий, таких как SQLAlchemy и т. д.



2021-04-08T13:10:40
Python

Как создать папку в Google Docs

Google Docs — отличный бесплатный инструмент для обработки текстов. Считается очень удобным для сотрудничества. В среднем, для того, кто использует Документы Google для профессионального использования, создается не менее 200 документов. Вы можете отсортировать их по именам, последним созданным или последним измененным строкам и т.д. Даже при всем этом поиск того, что вам нужно, является монументальной задачей.

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

Создать папку в Google Документах

Вы должны помнить одну вещь: хотя вы создаете папки в Google Docs, они сохраняются на вашем Google Диске. Вы видите эти папки среди множества папок на Google Диске. Вы можете напрямую создавать папки на Google Диске и файлы фильмов. Но здесь мы создаем папку из Google Docs на Google Диске и добавляем в нее документы в самой Google Docs.

Чтобы создать папку в Google Docs и добавить файл:

  • Откройте документ и щелкните значок папки.
  • Затем щелкните значок «Новая папка».
  • Назовите папку
  • Переместите документ в созданную вами папку.

Посмотрим инструкцию подробно.

Откройте документ, который вы уже создали в Google Docs, и щелкните значок папки рядом с именем файла. Затем щелкните значок «Новая папка» в нижней части поля «Мой диск».

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

Вы можете переместить документ во вновь созданную папку. Чтобы переместить его, нажмите кнопку «Переместить сюда» в нижней части окна папки. Если вы не хотите двигаться, щелкните значок x в верхней части поля.

Как получить доступ к папкам из Google Docs

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

Вы увидите диалоговое окно «Открыть файл», которое в Документах Google называется средством выбора файлов. В этом диалоговом окне вы увидите документы и список папок, которые вы создали для документов.

Это простой метод, который сэкономит вам много времени.

Мы надеемся, что это руководство поможет вам создавать папки в Документах Google и получать к ним доступ из Документов Google. Если у вас есть какие-либо сомнения или предложения, оставьте комментарий ниже в разделе комментариев.



2021-04-08T10:26:08
Вопросы читателей