Задать вопрос
@okkupai

Запускаю скрипт, а в вывод выводит слово «Python», и так много раз, что делать?

Удалил все версии и всё что касается пайтона на компе, после чего установил пайтон 3.9.5.
Купил бота у чувака, он сказал что пользуется только линуксом, и началось... (я пользуюсь виндой)

Если бы вы знали, как я мучался с установкой MySQL на винду, и подключение базы... ууу, но всё обошлось, и я смог сделать что хотел, но проблемы не покидают меня, всегда происходит проблема за проблемой;

Сразу предупреждаю, я чайник в Python, знаю как скачать либу, чекнуть лист, запустить файл и подобное

При запуске файла python run.py слово "Python" повторяется бесконечное количество раз, а если написать python3 run.py - то слово выведет один раз. Итак, сам вопрос - что это за фигня? До этого всё было нормально, скрипт запускался, хоть с ошибками после, и не было такого вывода. Пайтон качал с патчем.
60baa682d7b8d535889851.png
Такая надпись раз в 2 секунды, вот скрин с python3:
60baa6b5e9b63689481234.png

Помогайте, мастера!
  • Вопрос задан
  • 4888 просмотров
Подписаться 1 Средний 6 комментариев
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
okkupai, коротко говоря: код работает так, как должен работать под виндой. Но он не предназначен для работы под виндой, и «в лоб» не заработает так, как изначально задумывался.
Суть кода в том, чтобы каждые 2 секунды проверять наличие в списке процессов linux, запущен ли main.py и, если не запущен - запустить.
Этот код специфический для linux, для винды будет по-другому. Как именно - это либо тебе разбираться и делать самому, либо нанимать фрилансера, чтоб написал тебе.

Там, в общем, не сложно - но наш сервис не предназначен для решения таких задач.

Альтернативы:
  • На win10 про есть подстстема linux, можно попытаться в ней запустить код.
  • Поставить виртуалку с linux и там запускать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SuckMyPython
@SuckMyPython
matrix.polling(none_stop=True)
Я так и не понял, чего ты хотел, но просто убери "python3 " в 15-ой строке; такое явное указание на версию пайтона уже лишнее, запускай свой 'main.py' без него!
from time import sleep
import os

process_name = 'main.py'

def process_exists():
    call = 'ps ax | grep %s' % process_name
    if not process_name in call:
        return True

while True:
    try:
        a = process_exists()
        if a != True :
            os.system(process_name)
        sleep(2)
    except KeyboardInterrupt:
        break

OR
from time import sleep
import os

def process_exists():
    if not 'main.py' in 'ps ax | grep main.py':
        return True

while True:
    try:
        if process_exists() != True :
            os.system('main.py')
        sleep(2)
    except KeyboardInterrupt:
        break

Этот код будет просто проверять наличие файла "main.py" и раз в 2 секунды выполнять его...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы