Если хотите заниматься web-разработкой (и не только) на Python:
Реляционные БД (PostreSQL и/или MySQL)
Linux (работа в консоли, основы администрирования, nginx) - т.к. каждый разработчик должен уметь настроить рабочее окружение
IDE или редактор кода (Sublime Text 2, VIM, EMACS)
Git
Основы JavaScript / HTML / CSS - будет очень полезно знать
Django, так как один из самых популярных web-фреймворков на Python
Прямо это все досконально не нужно знать, но будет плюсом при поиске работы. А вообще можно поискать где-то вакансии стажера, там вам помогут в обучении и при этом может даже платить будут что-то :)
Открывайте файлы в конструкции `with` чтобы после выхода из тела конструкции (и завершении работы с файлом) ресурсы освобождались.
Еще советую прочитать вот этот пост по поиску утечек памяти.
import subprocess
internet = False
while not internet:
try:
subprocess.check_call(["ping", "-c 1", "www.google.ru"])
print("Internet is up again!")
internet = True
except subprocess.CalledProcessError:
print("Internet is still down :(")
Django для вашей задачи не советую, он тяжелый, а его преимущества не очень нужны в вашем проекте.
Посмотрите в сторону Flask - легкий, гибкий и куча сторонних модулей на любой вкус или Tornado - если есть опыт с асинхронным программированием.