Raspberry PI Flask-404 Not Found?

Hallo!

Ich habe das programmiert. Es wird jede Sekunde die Temperatur von der CPU ausgelesen. Jetzt möchte ich Flask einbauen, damit ich mit mehreren PC's darauf zugreifen kann. Aber es funktioniert nicht. Warum?

from flask import Flask, jsonify
import subprocess
import time
import os
from colorama import Fore, Style

app = Flask(__name__)

@app.route("/temp")
def get_cpu_temperature():
  try:
    result = subprocess.run(['vcgencmd', 'measure_temp'], capture_output=True, text=True, check=True)
    temperature_str = result.stdout.strip()
    temperature = float(temperature_str[5:-2]) # Extrahiere die Temperatur aus dem String
    return temperature
  except subprocess.CalledProcessError as e:
    print(f"Fehler beim Ausführen des Befehls: {e}")
    return None

def print_colored_temperature(temperature):
  if temperature is not None:
    if temperature > 49.9:
      print(f"{Fore.RED}Temperatur: {temperature}°C{Style.RESET_ALL}")
    else:
      print(f"Temperatur: {temperature}°C")
  else:
    print("Fehler beim Lesen der CPU-Temperatur.")

def main():
  try:
    while True:
      temperature = get_cpu_temperature()
      print_colored_temperature(temperature)
      time.sleep(1)
      os.system('clear')
  except KeyboardInterrupt:
    print("Programm wurde durch den Benutzer unterbrochen.")
  except Exception as e:
    print(f"Ein Fehler ist aufgetreten: {e}")
     
     


if __name__ == '__main__':
  app.run(host="0.0.0.0")

if __name__ == '__main__':
  main()
  import sys
  sys.exit(main(sys.argv))  
HTML, Code, Programmiersprache, Python, Python 3, Pycharm, Discord, Flask, Discord Bot, ChatGPT
Python: wann sind slice-Operationen an Arrays vorteilhaft?

Ich habe in Python versucht, eine doppelte Schleife über ein 2D Array (Variante 1) durch "array slice" Operationen (Variante 2) zu optimieren, stelle aber fest, dass dies nichts bringt, sondern die Rechenzeit sogar etwas größer wird.

Ich dachte eigentlich, dass man wo immer möglich slice Notation verwenden sollte, da dies schneller ist. Scheinbar kann man das aber nicht so einfach sagen.

Wann sind slice Operationen schneller bzw. von Vorteil? Leserlicher wid der Code ja nicht, aber dass er sogar langsamer wird überrascht mich nun doch ein wenig...

Der Code:

import numpy as np
import numpy.ma as ma
import time


def test():

 
  f = np.array([
    [0,  0,  0,  0,  0,  0,   0], 
    [0,  1,  3,  6 , 4,  2,   0], 
    [0,  2,  4,  7 , 6,  4,   0],   
    [0,  0,  0,  0,  0,  0,   0]
    ], dtype=float)
     

  u = np.array([
    [0,  0,  0,  0,  0,  0,   0], 
    [0,  0.5, 1,  0, -1, -0.5,  0], 
    [0,  0.7, 1.1, 0, -1, -0.4,  0], 
    [0,  0,  0,  0,  0,  0,   0], 
    ], dtype=float)
     
   
  # calculate : variant 1
  x = np.zeros_like(f)
   
  maxcount = 100000
   
  start = time.time()

  for count in range(maxcount):
    for i in range(1,u.shape[0]-1):
      for j in range(1,u.shape[1]-1):
        if u[i,j] > 0: 
          x[i,j] = u[i,j]*(f[i,j]-f[i,j-1])
        else:
          x[i,j] = u[i,j]*(f[i,j+1]-f[i,j])
         
  end = time.time()
  print("used time for variant 1:", end-start)
         
              
   
  # calculate : variant 2

  y = np.zeros_like(f)  

   
  start = time.time()
   
  for count in range(maxcount):
    maskl = (u[1:-1, 1:-1] > 0)
    maskr = ~maskl 
    diff = f[1:-1, 1:] - f[1:-1, 0:-1]
     
    yy = (y[1:-1, 1:-1])
    uu = (u[1:-1, 1:-1 ])
     
    yy[maskl] = uu[maskl] * (diff[:, :-1])[maskl]
    yy[maskr] = uu[maskr] * (diff[:, 1: ])[maskr]
   
  end = time.time()
  print("used time for variant 2:", end-start)
   
  np.testing.assert_array_equal(x, y)


test()

Die Ausgabe:

D:\python\animation>python test.py
used time for variant 1: 1.0328729152679443
used time for variant 2: 1.3058593273162842

D:\python\animation>python test.py
used time for variant 1: 1.1189219951629639
used time for variant 2: 1.3527190685272217

D:\python\animation>python test.py
used time for variant 1: 1.066974401473999
used time for variant 2: 1.3022441864013672
programmieren, Python, numpy, Python 3

Meistgelesene Beiträge zum Thema Python