Top.Mail.Ru
Ответы

Что не так со скриптом iogram

пробую создать первого бота в телеге и застрял чутка


если я пробую использовать команду в боте, вылазит ошибка как на третьем скрине

По дате
По рейтингу
Аватар пользователя
Просветленный
9мес

Ошибка, которую вы получаете, связана с тем, что система не может найти указанный путь:

12
 FileNotFoundError: [WinError 3] Системе не удается найти указанный путь: 'C:/Users/Пользователь/Desktop/project/nbot/venv/test' 
 

1. Неправильный путь:
Проверьте, правильно ли указан путь к папке. В пути у вас есть русские символы ("Пользователь"), что иногда может вызывать проблемы в некоторых системах или библиотеках. Попробуйте использовать английские буквы для пути или убедитесь, что путь полностью правильный.

2. Папка не существует:
Убедитесь, что папка test действительно существует в указанном месте (C:/Users/Пользователь/Desktop/project/nbot/venv/). Если её нет, создайте её вручную или укажите правильный путь.

3. Права доступа:
Убедитесь, что у программы есть права доступа на чтение в эту папку. Иногда проблема может быть связана с ограниченными правами на доступ к файлам или папкам.

4. Отладка с помощью print:

1234
 path = "C:/Users/Пользователь/Desktop/project/nbot/venv/test" 
print(os.listdir(path))  # Проверка содержимого директории 
fnaf_file = open(random.choice(os.listdir(path)), 'rb') 
 

Если вы увидите список файлов, значит директория существует. Если снова получите ошибку, возможно, что-то не так с правами или самой директорией.

5. Попробуйте абсолютный путь:
Вы можете попробовать использовать полный абсолютный путь вместо относительного. Это может помочь, если проблема в том, что текущая рабочая директория изменяется в ходе выполнения программы.

12345678910111213141516171819202122
 import os 
import random 
 
async def ranphoto(message: types.Message): 
    path = r"C:/Users/Пользователь/Desktop/project/nbot/venv/test" 
     
    try: 
        # Проверим, существует ли путь 
        files = os.listdir(path) 
        if not files: 
            await message.reply("В папке нет файлов") 
            return 
         
        # Открываем случайный файл 
        random_file = random.choice(files) 
        with open(os.path.join(path, random_file), 'rb') as fnaf_file: 
            await bot.send_photo(message.chat.id, fnaf_file) 
    except FileNotFoundError: 
        await message.reply(f"Путь {path} не найден") 
    except Exception as e: 
        await message.reply(f"Произошла ошибка: {str(e)}") 
 
Аватар пользователя
Профи
9мес

надо вместо / писать \ в винде

Аватар пользователя
Гуру
9мес

у тебя сейчас компуктер взорвется