Сценарий автоматизации Python должен запускаться при изменении кода в файле - PullRequest
0 голосов
/ 06 февраля 2019

Я хочу запускать свой скрипт автоматизации на python только тогда, когда в другой папке происходит изменение кода.Как обнаружить изменение и запустить скрипт?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Вы хотите отслеживать изменения файлов в каталоге, я вряд ли рекомендую использовать Watchdog .

В состав Watchdog входит скрипт watchmedo, который может запускать сценарии оболочки при изменении файла.

Вы можете попробовать что-то подобное:

watchmedo shell-command \
    --patterns="*.py" \
    --recursive \
    --command='path/to/python path/to/script.py "${watch_src_path}"' \
    your_directory
0 голосов
/ 06 февраля 2019

Вы можете использовать os.path.getmtime, чтобы узнать, когда файл был последний раз изменен, и постоянно проверять это время.

Примерно так:

import os.path, time

last_time = time.ctime(os.path.getmtime(file))
while(True):
    if time.ctime(os.path.getmtime(file)) != last_time:
        print('Script changed!')
        #do what u want...
        break
    time.sleep(10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...