2016-07-29 5 views
1

Ich versuche, ein Python-Skript zu schreiben, das automatisch eine E-Mail sendet, wenn eine bestimmte Datei generiert wird. Ich denke, ich habe den Code für das Senden der E-Mail, aber ich bin nicht sicher, wie ein Verzeichnis nach einer bestimmten Datei suchen zu überwachen.automatisch eine E-Mail senden, wenn eine Datei generiert wird

ein hohes Maß Beispiel ist:

aus Verzeichnis foo/ wenn Datei baz besiedelt tun sendemail()

+0

Auf welchem ​​Betriebssystem? – Chris

+0

@Chris auf Windows – StillLearningToCode

Antwort

0
import os.path 
if os.path.exists(file_path) and os.path.isfile(fname): 
    send_email() 
0
import smtplib,time 

Funktion, die überwacht, wenn your_file.txt generiert wurde

def search_file(): 
    try: 
     my_file=open('your_file.txt','r') 
     content=my_file.read() 
     my_file.close() 
     return content 
    except: 
     print "Waiting..." 
     time.sleep(20) 
     search_log()                          

Server und Port

mail=smtplib.SMTP('smtp.gmail.com',587) 

zum Server ESMTP

mail.ehlo() 

Start TLS mode = encrypt smtp identifizieren für die Anmeldung

mail.starttls() 
mail.login('user','pwd') 



mail.sendmail('originator','receiver',search_log()) 

mail.close() 
0

Ein anderer Weg, die von dem Pfad/Verzeichnis unabhängig ist, in dem sich die Datei befindet :

import os 
if 'your_file.txt' in os.listdir(os.getcwd()): 
#do something