#python #api #file #random
Вопрос:
Итак, в основном я пытаюсь создать бота, который отправляет случайные изображения из моих папок в api, но когда я пытаюсь выполнить запрос, я получаю ошибку, следующая часть кода-импорт
path= "frames/Dc1001/" img = random.choice(os.listdir(path)) print (img) upload_url = vk.photos.getWallUploadServer(owner_id=-id, from_group=1)['upload_url'] request = requests.post(upload_url, files={'file': open(img, "rb")}) save_wall_photo = vk.photos.saveWallPhoto(owner_id=-id, from_group=1, photo=request.json()['photo'],server = request.json()['server'], hash=request.json()['hash']) saved_photo = "photo" str(save_wall_photo[0]['owner_id']) "_" str(save_wall_photo[0]['id']) def post_topic(owner_id, from_group, message, attachments): session.method("wall.post", { "owner_id": -id, "from_group": 1, "message": message, "attachments": saved_photo }) while True: post_topic(-id, 1, "testttt", saved_photo) time.sleep(30)
я получаю следующую ошибку:
FileNotFoundError: [Errno 2] No such file or directory: 'imgNumber.png'
примечание: он печатает правильный номер img, и да, у меня есть все необходимые библиотеки, импортированные, и где я поместил-идентификатор, причина, по которой мне нужно его скрыть, заранее спасибо за любую помощь
Комментарии:
1. Это связано с тем, что os.listdir() возвращает список имен файлов в указанном каталоге. Результат не включает путь, т. Е. Это просто базовое имя. Поэтому измените вызов open() на open(os.path.join(путь, img), ‘rb’)