在发送电子邮件之前检查列表是否已附加

时间:2012-10-02 20:56:20

标签: python-2.7

所以我有一个脚本可以检查1天以前的文件。如果此目录中没有不到一天的文件(如今天创建的文件),我希望我的脚本向我发送电子邮件。

我的剧本,让我告诉你:

new_files = [] #list of files newer than 1 day
for f in os.listdir(path):
 fn = os.path.join(path,f)
 ctime = os.stat(fn).st_ctime
 if ctime > now - 1 * 86400:
 #this is a new file
  new_files.append(fn)
 if new_files(): #checks the list
  sendmail #calls sendmail script that sends email

所以,if new_files():是我检查我的列表以查看是否附加了任何内容。如果没有,那么该过程失败,我们需要知道,通过向我们的售票系统生成警报电子邮件。这就是我的问题所在。我不知道如何检查清单。当我运行脚本时,我得到TypeError: 'list' object is not callable

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

Quoting PEP 8

  

对于序列,(字符串,列表,元组),请使用空的事实   序列是错误的。

Yes: if not seq:
     if seq:

No: if len(seq)
    if not len(seq)

代码:

if new_files:

答案 1 :(得分:0)

计算事件将有所帮助。

new_files = [] #list of files newer than 1 day
for f in os.listdir(path):
   fn = os.path.join(path,f)
   ctime = os.stat(fn).st_ctime
   if ctime > now - 1 * 86400:
        countit=new_files.count(fn)  #count previous occurence
        #this is a new file
        new_files.append(fn)
        if new_files.count(fn)>countit: 
             sendmail #calls sendmail script that sends email