Итак, я выполняю код:
python my_app.py > console.txt
Итак, это позволяет мне создать файл на диске со всеми распечатками консоли.
Затем где-то в сценарии, который я хочуотправить отчет по электронной почте.Но всякий раз, когда я делаю это, я получаю усеченную версию файла.Когда приложение закрывается, файл содержит всю информацию.
Я попробовал это:
my_file = open('console.txt', 'r+', 1)
my_file.flush()
os.fsync(my_file.fileno())
my_file.close()
time.sleep(60)
filename = 'console.txt'
with open(filename, "r+", 1) as attachment:
print(attachment.readline(-20))
attachment.flush()
os.fsync(attachment.fileno())
time.sleep(60)
# Add file as application/octet-stream
# Email client can usually download this automatically as
# attachment
part = MIMEBase("application", "octet-stream")
part.set_payload(attachment.read())
attachment.close()
# # Encode file in ASCII characters to send by email
encoders.encode_base64(part)
# Add header as key/value pair to attachment part
part.add_header(
"Content-Disposition",
"attachment; filename={}".format(filename),
)
# Add attachment to message and convert message to string
email.attach(part)
Но все равно файл отправляется усеченным.Любые идеи или советы о том, как записать все на диск, мои ручные триггеры здесь не работают: (