Încerc să rulez două scripturi într-un proiect Python la pornire în Ubuntu, dar continuă să aibă probleme.
Am un proiect Python ca următorul:
- pyharm
- venv
- data.txt
- globalfunctions.py
- internet.txt
- internetdate.txt
- internettimelog.txt
- internettracker.py
- poweroutages.txt
- poweroutagetracker.py
- timelog.txt
Calea proiectului este /home/connor/Documents/Pycharm, IDE-ul fiind un mediu virtual al Python 3.8.10
Și cele două fișiere pe care încerc să le rulez sunt internettracker.py și poweroutagetracker.py. Cele două coduri sunt următoarele:
internettracker.py
cereri de import
timpul de import
import globalfunctions ca gf
url = „http://www.kite.com”
timeout = 5
def ping_internet():
încerca:
cerere = requests.get(url, timeout=timeout)
returnează Adevărat
cu excepția (requests.ConnectionError, requests.Timeout) ca excepție:
return False
gf.log_today(additional="internet")
în timp ce este adevărat:
internet_connected = ping_internet()
dacă internet_connected:
datestring, timenumber = gf.get_log(additional="internet")
curtime, astăzi = gf.get_today()
dacă abs(curtime - număr de timp) > 35:
gf.report_data("internet.txt", "Intreruperea internetului de la [" + șir de date + "] la [" + str(azi) + "]")
print("Oprire Internet detectată")
gf.log_today(additional="internet")
timp.somn (30)
altceva:
timp.somn(15)
poweroutagetracker.py
timpul de import
de la datetime import datetime
import globalfunctions ca gf
în timp ce este adevărat:
șir de dată, număr de timp = gf.get_log()
curtime, astăzi = gf.get_today()
dacă abs(curtime - număr de timp) > 5:
gf.report_data("poweroutages.txt", "Pane de curent de la [" + șir de date + "] la [" + str(azi) + "]")
print(„S-a detectat întrerupere de curent”)
timp.somn(5)
gf.log_today()
Fișier suport cu funcții
globalfunctions.py
timpul de import
de la datetime import datetime
def get_today():
return time.time(), datetime.today()
def log_today(additional=""):
curtime, azi = get_today()
datefile = open(additional+"date.txt", "w")
datefile.write(str(azi))
datefile.close()
timefile = open(additional+"timelog.txt", "w")
timefile.write(str(curtime))
timefile.close()
def get_log(additional=""):
datefile = open(additional+"date.txt", "r")
datestring = datefile.readline()
timefile = open(additional+"timelog.txt", "r")
timenumber = float(timefile.readline())
returnează șirul de dată, numărul de timp
def raport_date(nume fișier, text):
curtime, azi = get_today()
outfile = open(nume fișier, „a+”)
outfile.write(str(azi) + " | " + text + "\n")
outfile.close()
Am incercat sa urmez instructiunile de la acest fir dar nu pare să funcționeze.
Am făcut un .service cu următoarele:
[Unitate]
Descriere=Python Internet Watcher
[Serviciu]
Tip=simplu
WorkingDirectory=/home/connor/Documents/Pycharm
ExecStart=./internettracker.py
[Instalare]
WantedBy=multi-user.target
Acest fișier a fost mutat în /lib/systemd/system/ și până acum nu am văzut nimic rulând la pornire.