Tôi đang cố chạy hai tập lệnh trong một dự án python khi khởi động trong Ubuntu nhưng nó vẫn gặp sự cố.
Tôi có một dự án Python như sau:
- pycharm
- venv
- date.txt
- globalfunctions.py
- internet.txt
- internetdate.txt
- internettimelog.txt
- internettracker.py
- poweroutages.txt
- poweroutagetracker.py
- timelog.txt
Đường dẫn dự án là /home/connor/Documents/Pycharm, với IDE là môi trường ảo của Python 3.8.10
Và hai tệp tôi đang cố chạy là internettracker.py và poweroutagetracker.py. Hai mã như sau:
internettracker.py
yêu cầu nhập khẩu
thời gian nhập khẩu
nhập các chức năng toàn cầu dưới dạng gf
url = "http://www.kite.com"
thời gian chờ = 5
def ping_internet():
cố gắng:
yêu cầu = request.get(url, timeout=timeout)
trả về Đúng
ngoại trừ (request.ConnectionError, request.Timeout) là ngoại lệ:
trả về Sai
gf.log_today(additional="internet")
trong khi Đúng:
internet_connected = ping_internet()
nếu internet_connected:
chuỗi ngày, số thời gian = gf.get_log(additional="internet")
curtime, hôm nay = gf.get_today()
nếu abs(curtime - timenumber) > 35:
gf.report_data("internet.txt", "Internet ngừng hoạt động từ [" + chuỗi dữ liệu + "] đến [" + str(hôm nay) + "]")
print("Đã phát hiện mất kết nối Internet")
gf.log_today(additional="internet")
time.sleep(30)
khác:
time.sleep(15)
poweroutagetracker.py
thời gian nhập khẩu
từ datetime nhập datetime
nhập các chức năng toàn cầu dưới dạng gf
trong khi Đúng:
chuỗi ngày, số thời gian = gf.get_log()
curtime, hôm nay = gf.get_today()
nếu abs(curtime - timenumber) > 5:
gf.report_data("poweroutages.txt", "Mất điện từ [" + chuỗi dữ liệu + "] đến [" + str(hôm nay) + "]")
print("Đã phát hiện mất điện")
time.sleep(5)
gf.log_today()
Tập tin hỗ trợ với các chức năng
globalfunctions.py
thời gian nhập khẩu
từ datetime nhập datetime
chắc chắn get_today():
trả về time.time(), datetime.today()
def log_today(bổ sung=""):
curtime, hôm nay = get_today()
datefile = open(additional+"date.txt", "w")
datefile.write(str(hôm nay))
datefile.close()
timefile = open(additional+"timelog.txt", "w")
timefile.write(str(curtime))
timefile.close()
def get_log(bổ sung=""):
datefile = open(additional+"date.txt", "r")
chuỗi ngày = datefile.readline()
timefile = open(additional+"timelog.txt", "r")
timenumber = float(timefile.readline())
trả về chuỗi ngày, số thời gian
def report_data(tên tệp, văn bản):
curtime, hôm nay = get_today()
outfile = open(filename, "a+")
outfile.write(str(hôm nay) + " | " + văn bản + "\n")
outfile.close()
Tôi đã thử làm theo hướng dẫn từ chủ đề này nhưng nó dường như không hoạt động.
Tôi đã tạo một .service như sau:
[Đơn vị]
Mô tả=Trình theo dõi Internet Python
[Dịch vụ]
Loại = đơn giản
WorkingDirectory=/home/connor/Documents/Pycharm
ExecStart=./internettracker.py
[Cài đặt]
WantedBy=multi-user.target
Tệp này đã được chuyển vào /lib/systemd/system/ và cho đến nay tôi không thấy gì chạy khi khởi động.