Проверить это сообщение .Использование os.path.getmtime
даст вам измененное время, но использование os.path.getctime
не похоже на работу в Linux.
Похоже, у вас может быть ошибка здесь:
filetime = dt.datetime.fromtimestamp(
os.path.getctime('/gma/cache/completed' + file))
Вашos.path.getctime(...
кусок добавляет file
к пути без разделителя файлов.Попробуйте использовать os.path.join
вместо простой конкатенации строк.
Небольшая обратная связь: я хотел бы рассмотреть факторизацию ваших константных определений вне вашей функцииНапример, объявите SERVER = 'smtp.gmail.com'
прямо под вашими импортами в вашем модуле.
Подумайте об использовании with
для ваших вызовов SMTP.Так что это будет примерно так:
with smtplib.SMTP(SERVER) as s:
server.login('user', "PASSWORD")
...
Я бы также подумал об использовании модуля электронной почты Python , хотя для чего-то настолько простого, что это может быть излишним.
Некоторые высокие-уровень обратной связи с более «питонской» организацией:
Я бы поместил ваш код в функцию с именем main
(или что-то еще, что вы считаете наиболее полезным), а затем создал бы блок if __name__ == '__main__':
внизу,который затем вызывает вашу функцию main
.Поскольку ваш сценарий / программа неизбежно растет, это позволит другим модулям импортировать из этого модуля без выполнения всего кода.
Наконец, я бы настоятельно поощрял использование виртуальной среды насервер.Предположительно это сервер RedHat (так как он работает на Python 2.7.5).Я попал в плохую ситуацию, используя системную установку Python - вы можете быстро оказаться в сломанной системе, как только вам понадобится установить пакет. Вот полезное руководство о виртуальных средах в Python.