Python Skript zu .exe Datei fehlerhaft?

Liebes Forum,

da ich mich mit Python-Skripts nicht so gut auskenne und ChatGPT scheinbar auch oft Fehler macht, möchte ich mich an erfahrene Benutzer werden.

Warum kann ich das folgende Skript nicht in einer EXE-Datei umwandeln? Es wandelt zwar um, aber am Ende, wenn ich das Programm öffne, loopt es hin und her. Es ist ein Programm, das RAM, CPU, GPU usw. überprüfen soll. Könnt gerne eine Überschrift zum Skript da lassen. :D.

Das Skript (Python):

import os
import platform
import psutil
import subprocess
import cpuinfo
import wmi
import logging
from datetime import datetime

logging.basicConfig(filename='wininfo.log', level=logging.DEBUG)

def get_windows_version():
  return platform.win32_ver()[1]

def get_cpu_info():
  info = cpuinfo.get_cpu_info()
  cpu_count = psutil.cpu_count(logical=False)
  cpu_arch = info['arch']
  cpu_usage = psutil.cpu_percent()

  try:
    cpu_temps = psutil.sensors_temperatures(fahrenheit=False)
  except AttributeError:
    cpu_temps = None

  return cpu_count, cpu_arch, cpu_usage, cpu_temps

def get_ram_info():
  ram = psutil.virtual_memory()
  return ram.total / (1024 ** 3), ram.used / (1024 ** 3)

def get_gpu_info():
  w = wmi.WMI()
  gpus = w.Win32_VideoController()
  gpu_info = [(gpu.Caption, gpu.AdapterRAM / (1024 ** 3)) for gpu in gpus]
  return gpu_info

def get_storage_info():
  storage = psutil.disk_usage('/')
  return storage.total / (1024 ** 3), storage.free / (1024 ** 3)

def suggest_windows_upgrade():
  current_version = int(platform.win32_ver()[1].split('.')[0])

  if current_version <= 8:
    print("Recommendation: Upgrade to Windows 10 or 11.")
    choice = input("Do you want to proceed with the upgrade? (Yes/No): ")

    if choice.lower() == 'yes':
      check_system_requirements()

def check_system_requirements():
  print("Checking system requirements...")
  # Hier kannst du die Überprüfung der RAM, CPU und GPU hinzufügen
  # Beispiel:
  # if not meet_requirements():
  #  print("Your system does not meet the requirements for the upgrade.")
  #  return

def meet_requirements():
  # Hier kannst du die tatsächliche Überprüfung der Anforderungen implementieren
  # Beispiel: return check_ram() and check_cpu() and check_gpu()
  pass

def create_log_file(path, content):
  try:
    os.makedirs(path, exist_ok=True)
    timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
    log_file_path = os.path.join(path, f'computer_check_log_{timestamp}.txt')

    with open(log_file_path, 'w') as file:
      file.write(content)

    print(f"Log file has been successfully created: {log_file_path}")
  except Exception as e:
    print(f"Error creating log file: {e}")

# Windows Version Überprüfung
print("Debugging: Before Windows Version")
windows_version = get_windows_version()
print(f"Windows Version: {windows_version}")

# CPU Check
print("Debugging: Before CPU Info")
cpu_count, cpu_arch, cpu_usage, cpu_temps = get_cpu_info()
print(f"Number of CPUs: {cpu_count}")
print(f"CPU Architecture: {cpu_arch}")
print(f"CPU Usage: {cpu_usage}%")
print(f"CPU Temperatures: {cpu_temps}")

# RAM Check
total_ram, used_ram = get_ram_info()
print(f"Installed RAM: {total_ram:.2f} GB")
print(f"Used RAM: {used_ram:.2f} GB")

# GPU Check
gpu_info = get_gpu_info()
print("Graphics Cards:")

for gpu in gpu_info:
  print(f"- {gpu[0]} (VRAM: {gpu[1]:.2f} GB)")

# Storage Check
total_storage, free_storage = get_storage_info()
print(f"Installed Storage: {total_storage:.2f} GB")
print(f"Free Storage: {free_storage:.2f} GB")

# Windows Updates Check
def check_windows_updates():
  result = subprocess.run('powershell "Get-HotFix"', capture_output=True, text=True, shell=True)
  return 'No updates available' not in result.stdout
# ...

# Windows Updates Check
if check_windows_updates():
  choice = input("Windows updates are available. Do you want to install them? (Yes/No): ")
  if choice.lower() == 'yes':
    print("Installing Windows updates...")
    subprocess.run('powershell "Install-Module -Name PSWindowsUpdate -Force -AllowClobber"', shell=True)
    subprocess.run('powershell "Get-WindowsUpdate"', shell=True)
    subprocess.run('powershell "Install-WindowsUpdate -AcceptAll -AutoReboot"', shell=True)

# Windows Gültigkeit Check
suggest_windows_upgrade()

# Log-File erstellen
log_path = input("Enter the path for the log directory: ")
log_content = f"Windows Version: {windows_version}\n"
log_content += f"Number of CPUs: {cpu_count}\n"
log_content += f"CPU Architecture: {cpu_arch}\n"
log_content += f"CPU Usage: {cpu_usage}%\n"
log_content += f"CPU Temperatures: {cpu_temps}\n"
log_content += f"Installed RAM: {total_ram:.2f} GB\n"
log_content += f"Used RAM: {used_ram:.2f} GB\n"
log_content += "Graphics Cards:\n"

for gpu in gpu_info:
  log_content += f"- {gpu[0]} (VRAM: {gpu[1]:.2f} GB)\n"

log_content += f"Installed Storage: {total_storage:.2f} GB\n"
log_content += f"Free Storage: {free_storage:.2f} GB\n"
create_log_file(log_path, log_content)

Ein Bild davon, wie es um sich her loopt, schicke ich zu!

Danke schon einmal!

Bild zu Frage
Programmiersprache, Python
Asynchrones Laden in Jetpack Compose geht nicht?

Hallo, ich habe folgenden Code in meiner Android Jetpack Compose App, wenn ich die App starte bleibt der Bildschirm wo die Elemente der LazyColumn sein sollten jedoch leer. In der Konsole werden aber die Namen von den Filmen angezeigt (siehe println in der getTrendingMoviesAsync() Methode)

Code in der MainScreen Klasse:

val movies by remember { mutableStateOf(ArrayList<JSONObject>(emptyList())) }
val coroutineScope = rememberCoroutineScope()

LaunchedEffect(true) {
    coroutineScope.launch { 
        val result = getTrendingMoviesAsync()
        if (result != null){
            movies.addAll(result)
        }
    }
}

LazyColumn(modifier = Modifier.padding(top = 135.dp)){
    items(movies){ movie ->
        Text(text = movie.getString("title"))
        Spacer(modifier = Modifier.height(10.dp))
    }
}

Code von der Methode:

suspend fun getTrendingMoviesAsync(): ArrayList<JSONObject>? {
    return withContext(Dispatchers.IO) {
        try {
            val movies = ArrayList<JSONObject>()
            val client = OkHttpClient()
            val request = Request.Builder()
                .url("https://api.themoviedb.org/3/trending/movie/week?language=de-DE")
                .get()
                .addHeader("accept", "application/json")
                .addHeader(
                    "Authorization",
                    "Bearer <apikey>"
                )
                .build()

            val response = client.newCall(request).execute()
            val json = JSONObject(response.body()?.string())
            val results = json.getJSONArray("results")
            for (i in 0 until results.length().coerceAtMost(30)) {
                val movie = results.getJSONObject(i)
                println(movie.getString("title"))
                movies.add(movie)
            }

            movies
        } catch (e: Exception) {
            e.printStackTrace()
            null
        }
    }
}

Kann mir jemand weiterhelfen?

App, Android, Code, Programmiersprache, asynchron, compose, jetpack, Android Studio, Kotlin
Batch-Befehl mit Python in Textdatei speichern?

Ich will mit Python die Ausgabe eines Batch-Befehls in einer Textdatei speichern. Im Batch-Output sind aber Zeilenumbrüche vorhanden, welche in der Textdatei als \n angezeigt werden. Der ganze Output wird somit in eine Zeile geschrieben und ist beinahe unlesbar. Wie schaffe ich es, \n in der Textdatei auch tatsächlich als Zeilenumbruch anzuzeigen?

Hier der Code:

import subprocess


result = subprocess.run(["ipconfig", "/all"], capture_output=True)


if result.returncode == 0:                                                                                                              #0 = exit code for programm_succesfully_executed


    try:
        if result.stdout is not None and result.stdout.strip():                                                                         #if output is not empty


            with open("ipconfig_output.txt", "w", encoding="utf-8",) as file:       #opening file
                file.write(str(result.stdout))                                                                                          #writing file


            print("writing done")


        else:
            print("ipconfig is empty")
    except Exception as e:
        print(f"a problem occured.\nERROR: {e}")
else:
    print(f"trouble while exeuting:\n{result.stderr}")


Code, Programmiersprache, Python
Python programm zu csv dateien funktioniert nicht?

Ich habe Code für ein python programm welches von 2 csv files pfade als input fragt, und diese dann prüft auf die ersten 2 spalten jeder reihe ob die 2 übereinstimmen. wenn dies so ist, soll die ganze spalte welche übereinstimmt von csv2 auf csv1 kopiert werden, das aber nur für die spalte die einstimmt

import os
import csv

def get_file_path(prompt):
    while True:
        file_path = input(prompt)
        if os.path.isfile(file_path):
            return file_path
        else:
            print("Fehler: Die angegebene Datei existiert nicht. Bitte geben Sie einen gültigen Pfad ein.")

def compare_csv_files():
    file1_path = get_file_path("Geben Sie den Pfad zur ersten CSV-Datei ein: ")
    file2_path = get_file_path("Geben Sie den Pfad zur zweiten CSV-Datei ein: ")

    with open(file1_path, newline='') as file1, open(file2_path, newline='') as file2:
        reader1 = csv.reader(file1)
        reader2 = csv.reader(file2)

        header1 = next(reader1)
        header2 = next(reader2)

        if header1[:2] != header2[:2]:
            print("Fehler: Die ersten beiden Spalten der CSV-Dateien stimmen nicht überein.")
            return

        rows1 = [row for row in reader1]
        rows2 = [row for row in reader2]

        output_rows = []
        for row1 in rows1:
            for row2 in rows2:
                if row1[:2] == row2[:2]:
                    output_rows.append(row2)
                    break

        if len(output_rows) == 0:
            print("Es wurden keine übereinstimmenden Zeilen gefunden.")
            return

        output_path = input("Geben Sie den Pfad zur Ausgabedatei ein: ")
        with open(output_path, 'w', newline='') as output_file:
            writer = csv.writer(output_file)
            writer.writerow(header1)
            for row in output_rows:
                writer.writerow(row)

    input("Drücken Sie die Eingabetaste, um das Programm zu beenden.")

Dieser Code fragt nach den Pfaden zu den beiden CSV-Dateien und prüft, ob die Dateien existieren. Wenn eine Datei nicht gefunden wird, wird eine Fehlermeldung ausgegeben und der Benutzer wird auf

Programmiersprache, Python, Python 3
Programmieren auf nem guten weg?

Bewusst inkognito, da etwas unangenehme frage.

Ich Programmiere jetzt seit einem halben Jahr.
Alles ohne Bootcamp oder sonstige direkte Anleitung von jemanden.

Ich habe zuerst mit der App "sololearn" alle wichtigen Konzepte für Java gelernt - später auch für Python.

Das war fürchte ich Zeitverschwendung, da ich die Konzepte zwar verstand zusammen mit den kleinen Übungen, aber dabei kein eigenes Projekt hatte.

4 Schritte wenn man so will habe ich bis heute durchlaufen:

1.ich machte den Fehler zu glauben programmieren wie in der Schule lernen zu können: auswendig lernen und dann erst anwenden.

Darum versuchte ich dann als nächstes was zu machen das mich auch motivierte: eine gui zu erstellen und dann kleine apps zu bauen wie todo listen für den anfang.

Das klappt mit java nicht, ich kam kaum zurecht mit den dafür nötigen konzepten die auf einen Schlag für eine gui nötig waren.

2.Darum wechselte ich jetzt zu Python um damit leichter motivierende eigene projekte bauen zu können.

3.Zwischendrin machte ich einen coursera kurs zu: html, css und java script also für web development.

Das war für mich als absoluten Anfänger interessant und auch wichtig würde ich sagen. Hier half das "auswendig lernen" um mit dem Grundverständnis einfach mehr zu verstehen wie das Internet, browser und mehr funktionieren.

Auch wenn ich damit nicht dran blieb.

4.Jetzt bin ich seit einiger Zeit mit Python endlich so weit dass ich guis ohne große Probleme erstellen kann.

Endlich kann ich auch apps erstellen die als .exe Datei funktionieren.

Und Heute:

Vor einem halben Jahr dachte ich noch : ok in 5-6 Monaten kann ich programmieren.

Stand jetzt ist:

ich habe als absoluter laie angefangen.

Weiß jetzt wie grundlegende Dinge wie ein Browser funktionieren aber auch etwas über css, javascript und html.

Bin auch froh von java wenigstens mal versucht zu haben - um zu sehen wie unterschiedlich Programmiersprachen sein können . Auch wenn es noch weitere gibt, ganz klar. Ich lerne ja weiterhin noch dazu.

Aber: ich kann außer sehr kleine apps kaum etwas programmieren. Darum bin ich unsicher - auch wenn ich definitiv dran bleiben will alleine weil ich schon viel gelernt habe.

Meine Frage also: bin ich auf einem guten Weg?
Was sind eure Erfahrungen mit Fehlern und daraus besser werden, beim Programmieren lernen?

Wäre froh über eure Erfahrungen

Lernen, programmieren, Programmiersprache, Python
Welche Programmiersprache als Quereinsteiger für das Berufsleben?

Hallo,

Die Frage hier geht explizit an Programmierer, die idealerweise schon ein Job haben.

ich wollte fragen welche Programmiersprache gut als Quereinsteiger geeignet ist um in das Berufsleben durchzustarten.

Ich beherrsche mittlerweile etwas von Phyton und SQL.

Es gibt ja YouTuber oder Webseiten die dir versprechen in einigen Monaten in deren Kurs schon eine Arbeitsstelle zu finden, natürlich gegen Bezahlung.

Aber ich will es eigenständig schaffen, deshalb meine Frage:

Welche Programmiersprache ist gut geeignet um in kurzer Zeit ein Job auszuüben. Natürlich wird man in diesem kurzem Zeitraum nicht das ganze Know How wissen aber man sollte sich im Job weiterentwickeln. Natürlich weiß ich das ich dann nicht viel Geld bekommen werde.

Und mit welcher Programmiersprache sollte man im welchem Beruf einsteigen (z.B bei SQL kann man Daten Analyst werden.) Also was könnt ihr empfehlen.

Und kennt Ihr auch gute bücher oder YT kanäle?

Und was hattet Ihr schon für Erfahrungen im ersten Job, was war die erste Programmiersprache mit der Ihr euch beworben habt und wie war der Anfang als ihr gelernt hattet und der erste Tag als Programmierer im Job? Habt ihr Tipps an mich?

Zum Schluss noch: Bitte keine Unnötigen Kommentare abgegeben. Ich weiß es ist Zeitaufwendig, aber ich möchte denn Willen durchsetzen. Ich bin auch kein Scriptkiddi, ich will's wirklich erlernen. Ich antworte auch gerne auf eure Kommentare.

PC, Beruf, Lernen, Google, Job, Amazon, SQL, HTML, IT, Webseite, Java, JavaScript, C Sharp, Entwickler, Entwicklung, Programmiersprache, Python, Quereinsteiger, Laptop

Meistgelesene Fragen zum Thema Programmiersprache