Проблема с библиотекой yadisk для работы с Rest API

Для проекта решил взять себе тему с Рест Апи, именно связанную с Яндекс.Диском. Наткнулся на библиотеку-клиент yadisk, вначале попробовал, всё шло нормально. Сегодня пытаюсь выполнить некоторые команды, но натыкаюсь на какие-то ненормальные вещи.

Допустим: по библиотеке метод upload(path_or_file, dst_path, **kwargs) Загружает файл на диск.

Параметры:
path_or_file – путь к файлу или файл-подобный объект для загрузки dst_path – путь назначения Хорошо, моя функция:

def upload(y, from_, to_, *kwargs):
    operation = y.upload(from_, to_)

работает, проверил, НО, почему программа после заливки файла на яндекс диск, игнорируя путь to_ просто заливает файл в главную директорию, а вместо этого пути (to_) даёт ему название, хотя это должен был быть путь?

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

import sys
import yadisk
import os
import pyAesCrypt
from os import stat, remove
import random


def upload(y, from_, to_, *kwargs):
    operation = y.upload(from_, to_)

def mkdir(y, path, **kwargs):
    try:
        operation = y.mkdir(path)
        print('Status: success')
    except:
        print('Не выполнено, ошибка')

def move(y, from_path, to_path):
    operation = y.move(from_path, to_path)
    while True:
        status = y.get_operation_status(operation.href)
        if status == "in-progress":
            time.sleep(5)
            print("Still waiting...")
        elif status == "success":
            print("Success")
            break
        else:
            print("Не выполнено, ошибка: {0}".format(status))

y = yadisk.YaDisk("94885fad3a5e407b8cda5af348597aae", "59d96c74713947b9bad0f691dffb5699")
url = y.get_code_url()
# with open("data.txt", "rb") as token_txt:
#    code = token_txt
code = input('Введите код: ')
try:
    response = y.get_token(code)
    print('n1')
except yadisk.exceptions.BadRequestError:
    print('n2')
    sys.exit(1)
y.token = response.access_token
print('n3')

if y.check_token():
    print("Токен получен")
else:
    print("Срок жизни токена истек, либо введён не правильно")

подаю переменные: upload(y, 'D:\\aurora\\lolz.jpg', '\\test-dir') Так что это за фигня? Может алгоритмы ЯндексДиска изменились? Просто эту библиотеку не обновляли больше года. Заранее спасибо! Документация на библиотеку: https://yadisk.readthedocs.io/ru/latest/intro.html


Ответы (1 шт):

Автор решения: nomnoms12

Укажите в параметре _to полный путь до файла.

Пример:

/test-dir/lolz.jpg


Файлы могут не иметь расширений, поэтому /test-dir можно интерпретировать как файл test-dir в корневом каталоге.

→ Ссылка