On 08/19/2017 04:13 AM, kay Cee wrote: > I made a python script that will update a Ubuntu Server every second and > writes asuccess message and date to a log file, but for some reason the > file is not being written to. > > Here is the Script: > > #!/usr/bin/python3 > > import subprocess > import time > import datetime > > class UpdateError(Exception): > pass > > def update(): > while True: > try: > update_log = open('update_log.txt', 'r+') > time.sleep(1) > 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']) > except UpdateError: > print("Update Error!!!") > update_log.close() > > if __name__ == '__main__': > update()
Hate to not just "answer the question", but what are you trying to accomplish with this script? You certainly don't want to call "apt-get update -y" in loop this fast. Why are you then rebooting? (update doesn't change the system, only the apt cache info) Ubuntu has a way to do this stuff as a background task anyway. For logging, you may want to actually use Python logging facilities. All those said, the way you want to debug something like this is to run a much more benign task through subprocess, before moving on to big (and slow) tasks. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor