Всякий раз, когда я выбираю случайный файл из папки, он говорит, что файл не найден - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь создать код, чтобы выбрать случайный файл из папки и отправить его в твиттер, но я получаю сообщение об ошибке

Я на Windows 10, больше ничего не пробовал.


path ='C:/Users/Name/Desktop/twitbot/home/gay'
files = os.listdir(path)
index = random.randrange(0, len(files))

message = "Picture of the moment!"
with open(files[index], 'rb') as photo:
    twitter.update_status_with_media(status=message, media=photo)

Я ожидаю, что код выберет картинку и опубликует ее в Твиттере, но там написано 'FileNotFoundError: [Errno 2] Нет такого файла или каталога:' 753.jpg ''

Редактировать: он выбирает фотографию из каталога, но говорит FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'numberOfFile.jpg', когда он явно там, где я его установил.

Ответы [ 2 ]

1 голос
/ 22 апреля 2019

У меня проблема с этим путь = 'C: / Пользователи / Имя / Рабочий стол / twitbot / home / gay'

используйте это в месте:

import os
pth ='C:/Users/Name/Desktop/twitbot/home/gay'
pth = os.path.join(*pth.split('/'))
files = os.listdir(path)
index = random.randrange(0, len(files))

message = "Picture of the moment!"
with open(files[index], 'rb') as photo:
    twitter.update_status_with_media(status=message, media=photo)
0 голосов
/ 22 апреля 2019

вам необходимо указать полный путь к файлу и код проверки имени ниже:

path ='C:/Users/Name/Desktop/twitbot/home/gay'
files = os.listdir(path)
index = random.randrange(0, len(files))

message = "Picture of the moment!"
file = path + '/' + files[index]
# or you can use file = os.path.join(os.path.realpath(path), files[index])
with open(file, 'rb') as photo:
    twitter.update_status_with_media(status=message, media=photo)
...