Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Может ли запускаться Пайтон скрипт самостоятельно и в определенное время? Если да, то как это можно сделать?

Здравствуйте, недавно задался вопросом, как сделать так, чтобы Пайтон скрипт при нахождении на ПК запускался сам и в определенное время без планировщика задач? Также давно интересовал вопрос, можно ли как-то скрыть работу Пайтон скрипта в диспетчере задач?
#программирование+1
Павел Окупов
  ·   · 3,8 K
Разработчик на: C#, C++, Python  · 8 мая 2023
Да, Питон скрипт может запускаться автоматически в определенное время без использования планировщика задач. Это можно сделать, используя стандартную библиотеку Python
sched
, которая позволяет планировать выполнение функций в определенное время.
Вот пример кода, который запустит функцию
my_function()
каждый день в 10:30 утра:
import sched
import time
import datetime

def my_function():
    # ваш код

# создание объекта планировщика
scheduler = sched.scheduler(time.time, time.sleep)

# задание времени выполнения функции
event_time = datetime.datetime.now().replace(hour=10, minute=30, second=0, microsecond=0)

# добавление задания в планировщик
scheduler.enterabs(event_time.timestamp(), 1, my_function, ())

# запуск планировщика
scheduler.run()
Что касается скрытия работы Питон скрипта в диспетчере задач, то это можно сделать, запуская скрипт как службу Windows. Это позволит запускать скрипт в фоновом режиме и скрыть его от пользователей. Есть несколько способов запуска Питон скрипта как службы Windows, но наиболее простой способ - использование модуля
pywin32
. Вот пример кода, который позволит запустить Питон скрипт как службу Windows:
import win32serviceutil
import win32service
import win32event
import servicemanager
import socket

class MyService(win32serviceutil.ServiceFramework):
    _svc_name_ = 'MyService'
    _svc_display_name_ = 'My Service'

    def __init__(self, args):
        win32serviceutil.ServiceFramework.__init__(self, args)
        self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)

    def SvcStop(self):
        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
        win32event.SetEvent(self.hWaitStop)

    def SvcDoRun(self):
        while True:
            # ваш код
            if win32event.WaitForSingleObject(self.hWaitStop, 5000) == win32event.WAIT_OBJECT_0:
                break

if __name__ == '__main__':
    win32serviceutil.HandleCommandLine(MyService)
Платная консультация, создание скриптов и программного обеспечения на заказ.Перейти на t.me/EN3RGY_TG
Python Middle Developer   · 17 апр 2023  · happypython.ru
Есть тупой способ, есть через планировщик) Тупой способ запускать в бесконечный цикл другой скрипт который будет проверять который сейчас час и если додёт до заданного вами активировать скрипт Через планировщик это надеюсь понят... Читать далее
Паблик помощи новичкам в Python (пишем парсеры с фриланс заказов)Перейти на happypython.ru