Почему программа не работает если запустить её как фаил. Но в среде разроботки она работает
Пишу код чтобы я мог управлять пк через Telegram bot. Пока это только пробная версия. Просто не хочется каждый раз запускать PyCharm. Как только запускаю фаил он сразу же закрвывается и создется пака с именем pycache и файлом с названием json.cpython-38 код этого файла в конце. Пожалуйста строго не ругайте за такой код. Что можно сделать?
import telebot
import requests
import os
bot = telebot.TeleBot('токен бота')
# команды пример: /start
@bot.message_handler(commands=['start'])
def launch_bot(message):
bot.send_message(message.chat.id, 'Привет, что дальше?', reply_markup=klawa)
# клавиатура меню
klawa = telebot.types.ReplyKeyboardMarkup()
klawa.row('игра', 'управление', 'программы',)
klawa.row(' ','сайт ', ' ')
# клавиатура игры
klawa2 = telebot.types.ReplyKeyboardMarkup()
klawa2.row('PUBG LITE', 'Overwatch', 'Tomb Raider')
klawa2.row('меню', ' ', 'дальше')
klawa3 = telebot.types.ReplyKeyboardMarkup()
klawa3.row('Watch Dogs 2', 'Witcher 3', 'NFS')
klawa3.row('меню', 'назад', ' ')
# клавиатура управление
klawa4 = telebot.types.ReplyKeyboardMarkup()
klawa4.row('быстрые настройки', 'user настройки', 'admin настройки')
klawa4.row('меню', 'обратно', 'вперед')
# перключение между клавиатурами
@bot.message_handler(content_types=['text'])
def actions(message):
if message.text == 'меню':
bot.send_message(message.chat.id, 'Хорошо, идем в меню', reply_markup=klawa)
elif message.text == 'дальше':
bot.send_message(message.chat.id, 'Хорошо, смотрим следующий список', reply_markup=klawa3)
elif message.text == 'назад':
bot.send_message(message.chat.id, 'Ладно, посмотрим предыдущий список', reply_markup=klawa2)
elif message.text == 'обратно':
bot.send_message(message.chat.id, 'Ладно, посмотрим предыдущий список', reply_markup=klawa4)
# ответы бота и его действия
# действия первой клавиатуры меню klawa
elif message.text == 'игра':
bot.send_message(message.chat.id, 'во что сыграем?', reply_markup=klawa2)
elif message.text == 'управление':
bot.send_message(message.chat.id, 'Что сделать?', reply_markup=klawa4)
elif message.text == 'программы':
bot.send_message(message.chat.id, 'хорошо, как лучше сделать?')
elif message.text == 'сайт':
bot.send_message(message.chat.id, 'Что за сайт?')
# действия клавиатуры игра klawa2, klawa3
elif message.text == 'PUBG LITE':
bot.send_message(message.chat.id, 'Хорошо, запускаю PUBG LITE')
os.system(r'C:\"Program Files (x86)"\PUBGLite\Launcher.exe')
elif message.text == 'Overwatch':
bot.send_message(message.chat.id, 'Хорошо, запускаю Overwatch')
os.system(r'C:\"Program Files (x86)"\Overwatch\"Overwatch Launcher.exe"')
elif message.text == 'Tomb Raider':
bot.send_message(message.chat.id, 'Хорошо, запускаю Tomb Raider')
os.system(r'C:\Games\"Rise of the Tomb Raider"\ROTTR.exe')
elif message.text == 'Watch Dogs 2':
bot.send_message(message.chat.id, 'Хорошо, запускаю Watch Dogs 2')
os.system(r'C:\Games\"Watch Dogs 2"\bin\"WatchDogs2.exe"')
elif message.text == 'Witcher 3':
bot.send_message(message.chat.id, 'Хорошо, запускаю Witcher 3')
os.system(r'C:\Games\"The Witcher 3 Wild Hunt GOTY"\"Witcher 3.exe"')
elif message.text == 'NFS':
bot.send_message(message.chat.id, 'Хорошо, запускаю NFS')
os.system(r'C:\Games\"Need for Speed Payback"\"Need for Speed Payback.exe"')
# действия клавиатуры управление klawa4
bot.polling()
вот код этого файла
U
YпK^& г @ sn d dl Z d dlZe dЎZe Ў Ze eЎZe eЎZed Ze eѓ ed d d d d d Z
e e
ѓ dS )й NzUhttps://api.telegram.org/токен бота/getUpdatesЪresultЪmessageЪtext)ЪjsonЪrequestsЪgetЪrЪdumpsЪs1ЪloadsЪd2ЪcЪprintЪx© r r х8 C:\python\отправка http запросов\json.pyЪ<module> s
Ответы (1 шт):
Автор решения: D. Violet
→ Ссылка
для запуска .py вне IDE используйте командную строку:
C:\Users\%username%\%project_folder%\Scripts\python.exe C:\Users\%username%\%project_folder%\main.py
где %username% - имя вашего пользователя в ОС, %project_folder% - папка с вашим .py файлом