По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
JSON (JavaScript Object Notation – нотация объектов JavaScript) – это популярный способ структурирования данных. Он используется для обмена информацией между веб-приложением и сервером. Но как прочитать файл JSON в Python? В этой статье я покажу вам, как использовать методы json.loads() и json.load() для интерпретации (или как еще говорят парсинга) и чтения файлов и строк JSON. Синтаксис JSON Прежде чем мы приступим к интерпретации и чтению файла JSON, сначала нам нужно разобраться с основным синтаксисом. Подробнее про JSON можно почитать в этой статье. Синтаксис JSON выглядит как объектный литерал JavaScript с парами ключ-значение. Вот пример данных JSON с данными организации: { "organization": "Company 1", "website": "https://www.website.org/", "formed": 2014, "certifications": [ { "name": "Responsive Web Design", "courses": [ "HTML", "CSS" ] }, { "name": "JavaScript Algorithms and Data Structures", "courses": [ "JavaScript" ] }, { "name": "Front End Development Libraries", "courses": [ "Bootstrap", "jQuery", "Sass", "React", "Redux" ] }, { "name": "Data Visualization", "courses": [ "D3" ] }, { "name": "Relational Database Course", "courses": [ "Linux", "SQL", "PostgreSQL", "Bash Scripting", "Git and GitHub", "Nano" ] }, { "name": "Back End Development and APIs", "courses": [ "MongoDB", "Express", "Node", "NPM" ] }, { "name": "Quality Assurance", "courses": [ "Testing with Chai", "Express", "Node" ] }, { "name": "Scientific Computing with Python", "courses": [ "Python" ] }, { "name": "Data Analysis with Python", "courses": [ "Numpy", "Pandas", "Matplotlib", "Seaborn" ] }, { "name": "Information Security", "courses": [ "HelmetJS" ] }, { "name": "Machine Learning with Python", "courses": [ "Machine Learning", "TensorFlow" ] } ] } Как парсить строки JSON в Python Python имеет встроенный модуль, который позволяет работать с данными в формате JSON. Вам необходимо будет импортировать модуль json. import json Если вам необходимо проинтерпретировать строку JSON, возвращающую словарь, то вы можете воспользоваться методом json.loads(). import json # assigns a JSON string to a variable called jess jess = '{"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}' # parses the data and assigns it to a variable called jess_dict jess_dict = json.loads(jess) # Printed output: {"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]} print(jess_dict) Как парсить и читать файлы JSON в Python В данном примере мы имеем файл в формате JSON с именем fcc.json, который содержит те же данные, что и ранее, касающиеся курсов, которые предлагает сайт. Если вы хотите прочитать этот файл, то для начала вам нужно использовать встроенную в Python функцию open() с режимом чтения. Мы используем ключевое слово with, чтобы убедиться, что файл закрыт. with open('fcc.json', 'r') as fcc_file: Если файл не может быть открыт, то мы получим ошибку OSError. Это пример ошибки "FileNotFoundError" при опечатке в имени файла fcc.json. Затем мы можем проинтерпретировать файл, используя метод json.load() и присвоить его переменной с именем fcc_data. fcc_data = json.load(fcc_file) И в конце мы должны напечатать результат. print(fcc_data) Вот так будет выглядеть полный код: import json with open('fcc.json', 'r') as fcc_file: fcc_data = json.load(fcc_file) print(fcc_data) Как красиво напечатать данные JSON в Python Если мы посмотрим на то, как печатаются данные, то увидим, что все данные JSON печатаются в одной строке. Однако такой формат вывода может быть затруднительным для чтения. И чтобы это исправить, мы можем реализовать метод json.dumps() с параметром indent (отступ). В данном примере мы сделаем отступ в 4 пробела и будем печатать данные в более удобном для чтения формате. print(json.dumps(fcc_data, indent=4)) Также мы можем отсортировать ключи в алфавитном порядке, используя параметр sort_keys и установив его значение на True. print(json.dumps(fcc_data, indent=4, sort_keys=True)) Заключение JSON – это популярный способ структурирования данных, который используется для обмена информацией между веб-приложением и сервером. Если вам необходимо проинтерпретировать строку JSON, которая возвращает словарь, то вы можете использовать метод json.loads(). Если вам необходимо проинтерпретировать файл JSON, который возвращает словарь, то вы можете использовать метод json.load().
img
Все пользователи Linux и системные администраторы должны знать, как безопасно выключить всю систему. Для этого есть несколько вариантов, включая планирование выключения в определенное время, немедленное выключение, рассылку уникального сообщения и так далее. В этом руководстве вы узнаете, как использовать команду выключения Linux shutdown с примерами. Синтаксис команды выключения Прежде чем переходить к конкретным способам выключения вашей системы Linux, вы должны понять основной синтаксис команды выключения: shutdown [options] [time] [message] [options] - определяют, хотите ли вы остановить, выключить или перезагрузить машину. [time] - указывает, когда вы хотите завершить выключение. [message] - добавляет сообщение, объявляющее о завершении работы. Как использовать команду выключения Для использования команды shutdown в системах Linux требуется пользователь root или пользователь с привилегиями sudo. Если вы используете команду без дополнительных аргументов, запуск sudo shutdown в окне терминала выполнит завершение работы за 60 секунд. Выключение со всеми параметрами Чтобы просмотреть все параметры при завершении работы системы Linux, используйте следующую команду: sudo shutdown --help На выводе отображается список параметров выключения, а также описание каждого из них. Как выключить систему в определенное время Чтобы запланировать завершение работы, добавьте аргумент [time] и укажите, когда вы хотите, чтобы оно произошло. Есть два способа выключить систему в определенное время - с использованием абсолютного или относительного формата времени. Абсолютное время соответствует формату чч:мм (hh:mm) и позволяет запланировать выключение в указанное время. Команда следует синтаксису: sudo shutdown hh:mm Например, чтобы потребовать выключения в 7 утра, введите следующую команду: sudo shutdown 07:00 В качестве альтернативы можно использовать относительный формат +m и запланировать завершение работы через определенное количество минут с момента запуска команды. В этом случае синтаксис команды: sudo shutdown +m Чтобы выключить систему через 20 минут, запустите: sudo shutdown +20 Как немедленно выключить систему Как упоминалось ранее, запуск команды shutdown без каких-либо аргументов заставляет систему выключиться через минуту после выполнения команды. Однако, если вам требуется немедленное выключение, используйте: sudo shutdown now Другой вариант - запланировать выключение, используя формат относительного времени со значением 0, как в приведенной ниже команде: sudo shutdown +0 Как транслировать собственное сообщение После того, как вы запланировали выключение системы, все пользователи в системе получат сообщение, уведомляющее их о выключении. Чтобы добавить настраиваемое сообщение в уведомление о завершении работы, чтобы информировать пользователей о том, что должно произойти. Вы можете добавить [message], только если команда также включает атрибут [time]: sudo shutdown [time] "[message]" Например, чтобы выключить систему через 20 минут и передать сообщение об обновлении системы, запустите: sudo shutdown +20 "System Upgrade" Как отменить запланированное выключение Чтобы отменить запланированное выключение, используйте команду: sudo shutdown -c Вы также можете добавить сообщение для уведомления пользователей об отмене завершения работы. Для этого добавьте параметр [message] (в кавычках) к приведенной выше команде. Например: sudo shutdown -c "Canceling System Upgrade"
img
В этом руководстве мы рассказываем, как выполнить резервное копирование и восстановление баз данных MySQL или MariaDB из командной строки с помощью утилиты mysqldump. Файлы резервных копий, созданные утилитой mysqldump, представляют собой набор операторов SQL, которые можно использовать для воссоздания исходной базы данных. Команда mysqldump также может генерировать файлы в формате CSV и XML. Вы также можете использовать утилиту mysqldump для переноса вашей базы данных MySQL на другой сервер MySQL. Синтаксис команды Mysqldump Прежде чем приступить к использованию команды mysqldump, начнем с обзора основного синтаксиса. Выражения утилиты mysqldump имеют следующую форму: mysqldump [options] > file.sql options - параметры mysqldump file.sql - дамп (резервная копия) файла Для использования команды mysqldump сервер MySQL должен быть доступен и запущен. Резервное копирование одной базы данных MySQL Наиболее распространенный вариант использования инструмента mysqldump - резервное копирование одной базы данных. Например, чтобы создать резервную копию базы данных с именем database_name, используя пользователя root, и сохранить ее в файл с именем database_name.sql, вы должны выполнить следующую команду: mysqldump -u root -p database_name > database_name.sql Вам будет предложено ввести пароль root. После успешной аутентификации начнется процесс дампа. В зависимости от размера базы данных процесс может занять некоторое время. Если вы вошли в систему как тот же пользователь, которого вы используете для выполнения экспорта, и этот пользователь не требует пароля, вы можете пропустить опции -u и -p: mysqldump database_name > database_name.sql Резервное копирование нескольких баз данных MySQL ля резервного копирования нескольких баз данных MySQL одной командой вам нужно использовать параметр --database, за которым следует список баз данных, которые вы хотите сделать резервную копию. Каждое имя базы данных должно быть разделено пробелом. mysqldump -u root -p --databases database_name_a database_name_b > databases_a_b.sql Команда выше создаст файл дампа, содержащий обе базы данных. Резервное копирование всех баз данных MySQL Используйте опцию --all-database для резервного копирования всех баз данных MySQL: mysqldump -u root -p --all-databases > all_databases.sql Как и в предыдущем примере, команда выше создаст один файл дампа, содержащий все базы данных. Резервное копирование всех баз данных MySQL в отдельные файлы Утилита mysqldump не предоставляет возможность резервного копирования всех баз данных в отдельные файлы, но мы легко достигаем этого с помощью простого цикла bash FOR: for DB in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $DB > "$DB.sql"; done Команда выше создаст отдельный файл дампа для каждой базы данных, используя имя базы данных в качестве имени файла. Создание сжатой резервной копии базы данных MySQL Если размер базы данных очень большой, рекомендуется сжать вывод. Для этого просто перенаправьте вывод в утилиту gzip и перенаправьте его в файл, как показано ниже: mysqldump database_name | gzip > database_name.sql.gz Создать резервную копию с отметкой времени Если вы хотите сохранить более одной резервной копии в одном месте, вы можете добавить текущую дату в имя файла резервной копии: mysqldump database_name > database_name-$(date +%Y%m%d).sql Команда выше создаст файл в следующем формате database_name-20200223.sql Восстановление дампа MySQL Вы можете восстановить дамп MySQL с помощью инструмента mysql. Общий синтаксис команды выглядит следующим образом: mysqld database_name < file.sql В большинстве случаев вам необходимо создать базу данных куда вы будете производить импорт. Если база данных уже существует, сначала вам нужно удалить ее. В следующем примере первая команда создаст базу данных с именем database_name, а затем импортирует в нее дамп database_name.sql: mysql -u root -p -e "create database database_name"; mysql -u root -p database_name < database_name.sql Восстановление одной базы данных MySQL из полного дампа MySQL Если вы создали резервную копию всех своих баз данных с помощью параметра -all-database и хотите восстановить одну базу данных из файла резервной копии, который содержит несколько баз данных, используйте параметр --one-database, как показано ниже: mysql --one-database database_name < all_databases.sql Экспорт и импорт базы данных MySQL одной командой Вместо того, чтобы создавать файл дампа из одной базы данных и затем импортировать резервную копию в другую базу данных MySQL, вы можете использовать следующую однострочную команду: mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name Команда выше передаст вывод клиенту mysql на удаленном хосте и импортирует его в базу данных с именем remote_database_name. Перед выполнением команды убедитесь, что база данных уже существует на удаленном сервере. Автоматизация резервного копирования с помощью Cron Автоматизация процесса резервного копирования баз данных так же проста, как создание задания cron, которое будет запускать команду mysqldump в указанное время. Подробно про cron можно прочитать в нашей статье. Чтобы настроить автоматическое резервное копирование базы данных MySQL с помощью cronjob, выполните следующие действия: Создайте файл с именем .my.cnf в вашем домашнем каталоге пользователя: sudo nano ~/.my.cnf Скопируйте и вставьте следующий текст в файл .my.cnf. [client] user = dbuser password = dbpasswd Не забудьте заменить dbuser и dbpasswd на пользователя базы данных и пароль пользователя. Ограничьте права доступа к файлу учетных данных, чтобы только ваш пользователь имел к нему доступ, используя команду cmod (подробнее про которую можно прочесть тут): chmod 600 ~/.my.cnf Создайте каталог для хранения резервных копий при помощи комадны mkdir (про нее тоже есть статья): mkdir ~/db_backups Откройте ваш пользовательский файл crontab: crontab -e Добавьте следующее задание cron, которое будет создавать резервную копию имени базы данных mydb каждый день в 3 часа ночи: 0 3 * * * /usr/bin/mysqldump -u dbuser mydb > /home/username/db_backups/mydb-$(date +%Y%m%d).sql Не забудьте заменить username вашим реальным именем пользователя. Вы также можете создать еще один cron job, чтобы удалить любые резервные копии старше 30 дней: find /path/to/backups -type f -name "*.sql" -mtime +30 -delete Конечно, вам нужно настроить команду в соответствии с вашим местоположением резервной копии и именами файлов. Чтобы узнать больше о команде find, ознакомьтесь с нашим Руководством по поиску файлов в Linux с помощью командной строки. Заключение Это руководство охватывает только основы, но оно должно быть хорошим началом для тех, кто хочет научиться создавать и восстанавливать базы данных MySQL из командной строки с помощью утилиты mysqldump. Если вы хотите найти больше материалов про базы данных, то просто наберите sql в нашем поиске!
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59