On 19/08/17 11:13, kay Cee wrote: > import subprocess > import time > import datetime > > class UpdateError(Exception): > pass
In defining your own type of Exception you implicitly say that you will be raising it somewhere. But you never raise this exception in your code... > def update(): > while True: > try: > update_log = open('update_log.txt', 'r+') > time.sleep(1) Do you really want to run apt-get update every second? That seems way too frequent, every hour would be a lot, every day more reasonable. > subprocess.call(['apt-get', 'update', '-y']) > date = datetime.datetime.now() > update_log.write("System was updated sucessfully on {}\n".format > (str(date))) > subprocess.call(['reboot']) And do you want your computer rebooting after every successful apt-get update? You really should not have to do that. Especially every second, you are likely to make your system unusable. > except UpdateError: > print("Update Error!!!") Since nothing raises an UpdateError you will never receive one. You are more likely to get an OSError or an IOError or a FileNotFound or similar. > update_log.close() Since you open the file inside the loop you should close it inside the loop. Ideally inside a finally clause. Or better still use a with... construct to open the file then you don;t need to close it yourself. -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.amazon.com/author/alan_gauld Follow my photo-blog on Flickr at: http://www.flickr.com/photos/alangauldphotos _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor