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

import sys
import os
import time

if os.path.isfile("/path/file"):
    x=os.stat('/path/file')
    Result=(time.time()-x.st_mtime)
    if os.stat("/path/file").st_size != 0 && Result > 300:
        f = open("/path/file", "r")
    else:
        ## log to syslog then exit script
else:
    ## log to syslog thn exit script

## section to continue processing
f1_to_process = f.read()
...
f.close()

Прочтите несколько документов по ведению журнала, не совсем понимая, как это правильно реализовать. Я не уверен, что моя логика имеет смысл. Могу я дать совет? Заранее спасибо.

0
netthing 23 Ноя 2020 в 03:45

1 ответ

Лучший ответ

Вы можете использовать модуль syslog вместе с {{X1 }} функция:

import sys
import os
import time
from syslog import syslog

def log_and_exit(message):
    syslog(message)
    quit()

if os.path.isfile("/path/file"):
    x=os.stat('/path/file')
    Result=(time.time()-x.st_mtime)
    if os.stat("/path/file").st_size != 0 && Result > 300:
        f = open("/path/file", "r")
    else:
        log_and_exit("foo")
else:
    log_and_exit("bar")

## section to continue processing
f1_to_process = f.read()
# ...
f.close()
0
Aplet123 23 Ноя 2020 в 00:48