Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.
Библиотека yadisk для доступа к облаку yandex
В прошлой статье об "облаках" я рассматривал возможности доступа к облачному диску mail.ru. А сегодня поговорим о другой библиотеке yadisk и облаке yandex.ru. Сложного тут ничего нет, но требуется последовательность действий. Расскажу и об этом и о библиотеке.
Первое, что придётся сделать - это зарегистрировать ваше приложение. Для этого идём сюда и регистрируем своё приложение. При этом используем свою яндекс-почту, которая, естественно, связана с диском. Выбираем web-приложение. Если всё прошло нормально то получаем две последовательности: идентификатор клиента и пароль.
Имея идентификатор и пароль можно получить токен, который и будет использован в приложении при доступе к своему облачному диску. Вариант получения токена, предложенный авторами библиотеки yadisk, у меня почему-то не работает. Поэтому не буду даже его приводить. Возможно что-то устарело. Но есть другой вариант: пойти сюда и получить в диалоге токен. Я получил и приложение работает.
Ну, а теперь набор функций в виду работающего кода.
Для работы нужно подключить библиотеку yadisk как обычно
import yadisk
Сама же библиотека устанавливается так же известным способом
pip3 install yadisk
yadisk. Получить информацию о яндекс.диске
Во всех примерах, прежде, чем выполнять какие-то действия получаем объект-клиент для данного облачного диска
y = yadisk.YaDisk(token='token')
и далее y - весь набор методов.
Метод get_disk_info() выдаёт словарь со всевозможными данными об облачном диске. Выведите его в текст и изучите. Никаких описаний этого словаря я не нашёл. Но изучается просто. В программе выше я привел лишь несколько возможностей. Для моего диска программа вывела
Размер диска: 228864 Мб
Используемое пространство: 58766 Мб
Год регистрации: 2016
Размер корзины: 697 Мб
Всё просто.
Да ещё один важный метод check_token() - возвращает True, если токен работает. Поэтому лучше всегда в начале проверить, что токен работает.
yadisk. Получить список файлов и каталогов по указанному пути
Ниже представлен пример получения списка каталогов и файлов по указанному пути. Как обычно "/" - это корневой каталог вашего диска. Список получаем методом listdir().
Также, как вы уже поняли, результат получается в виде словаря. Например, размер можно получить так t[size] (см. текст программы). Также структура словаря вполне себе понятна.
yadisk. Удалить каталог или файл
Для удаления файла или каталога используем метод remove(). Удалять можно и пустой и не пустой каталог. Будьте осторожны. Также важен параметр permanently=False. False означает, что удаление происходит в корзину.
yadisk. Создать каталог
Для создание каталога нужно указать полный путь к нему. Например
"/book" или "/prog/pyth/inet". Используем метод mkdir().
yadisk. Копирование файла с компьютера в облако
Для копирования файла с компьютера в облако нужно в методе upload() указать два параметра имя на компьютере и имя (полное) в облаке
/home/vladoslav/text.txt
и
/texts/tx1.tx
yadisk. Копирование файла из облака на компьютер
Для копирования файла из облака на компьютер нужно в методе download() указать два параметра имя в облаке и имя на компьютере (полное)
/books/bt.pdf
и
/home/vladislav/bk1.pdf
Ну, пока всё!
Пишите свои предложения и замечания, и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.