Python – die neusten Beiträge

Kann jemand über den Python Code gucken?

Der Dateipfad ist definitiv richtig. Ich habe versucht, das Bild direkt in den Ordner der Python-Datei zu legen. Trotzdem tritt weiterhin der gleiche Fehler auf. Das Bild ist im richtigen Format, und ich habe keine Ahnung, was das Problem verursacht.

import logging
import pyautogui


class Coordinates:
    def __init__(self, function, image_name, confidence=0.9, region=None):
        self.function = function
        self.image_name = image_name
        self.confidence = confidence
        self.region = region


    def offset(self, x_offset=0, y_offset=0, width_offset=0, height_offset=0):
        try:
            image_path = fr'templates\{self.image_name}.png'
            location = self.function(image_path, confidence=self.confidence, region=self.region)         
            
            if len(location) == 2:
                x, y = location
                x += x_offset
                y += y_offset
                return x, y


            elif len(location) == 4:
                x, y, width, height = location
                x += x_offset
                y += y_offset
                width += width_offset
                height += height_offset
                return x, y, width, height
            
        except pyautogui.ImageNotFoundException as e:
            logging.error(f'{e}')
            return None
        
x = Coordinates(pyautogui.locateCenterOnScreen, 'test').offset()


print(x)

Bild zum Beitrag
Computer, Programmiersprache, Python, Python 3

Wie klicke ich auf diese Elemente mit Python und Selenium?

Hallo,

Ich versuche, auf die folgenden Elemente auf dieser Webseite (https://www.bing.com/search?q=Bing+AI&showconv=1&FORM=hpcodx) mit Python und Selenium zu klicken.

//*[@id=“tone-options”]/li[3]/button

//*[@id=“camera-container”]/button

//*[@id=“camera-container”]/cib-flyout/cib-visual-search//div[3]/button[1]

Ich habe XPATH, CSS probiert.

Fehler:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="tone-options"]/li[3]/button"}

 (Session info: chrome=119.0.6045.200)

Stacktrace:

GetHandleVerifier [0x00007FF7D97B82B2+55298]

(No symbol) [0x00007FF7D9725E02]

(No symbol) [0x00007FF7D95E05AB]

(No symbol) [0x00007FF7D962175C]

(No symbol) [0x00007FF7D96218DC]

(No symbol) [0x00007FF7D965CBC7]

(No symbol) [0x00007FF7D96420EF]

(No symbol) [0x00007FF7D965AAA4]

(No symbol) [0x00007FF7D9641E83]

(No symbol) [0x00007FF7D961670A]

(No symbol) [0x00007FF7D9617964]

GetHandleVerifier [0x00007FF7D9B30AAB+3694587]

GetHandleVerifier [0x00007FF7D9B8728E+4048862]

GetHandleVerifier [0x00007FF7D9B7F173+4015811]

GetHandleVerifier [0x00007FF7D98547D6+695590]

(No symbol) [0x00007FF7D9730CE8]

(No symbol) [0x00007FF7D972CF34]

(No symbol) [0x00007FF7D972D062]

(No symbol) [0x00007FF7D971D3A3]

BaseThreadInitThunk [0x00007FF8125E7344+20]

RtlUserThreadStart [0x00007FF8130026B1+33]

kann mir jemand helfen? Danke.

HTML, Webseite, CSS, HTML5, Code, PHP, Programmiersprache, Python, Webdesign, Webentwicklung, Frontend, Python 3, Selenium

Tipps: Ideale Firmengröße und -bereich für angenhemen IT Job?

Hi!

Ich fange bald an als ITler zu Arbeiten und hätte mehrere Angebote:
- C# Entwickler in kleiner wie auch großer Firma
- C# Entwickler + ASP und Typescript in mittelgroßer Firma mit Option später auf Projektmanagement oder Consulting
- Python Entwickler im Bereich NLP/ML

Das Studium war hart. Ständig nebenbei gejobbt, nie genug Geld, kein Bafög bekommen, etc. Habe Erfahrung gesammelt und ein bisschen Skills zu bieten. An Angeboten fehlt es nicht.

Was ich will:

  • idealerweise wäre es für mich, wenn ich eine klare Aufgabe habe und so für mich daran arbeiten kann (darf ruhig Fullstack sein; erstelle gerne GUIs aber tüftle gerne auch an Algorithmen) und angenehme Arbeitswese (nicht übel viel Stress, aber auch keine Langeweile); Abwechslung wäre auch sehr gut (langatmige Projekte deprimieren und demotivieren mich)
  • ich kann mir auf Dauer auch vorstellen, zB nach 2-3 Jahren den Bereich oder die Tätigkeit zu wechseln (Consulting, IT-Beratung, irgendwas mit Kundenterminen, etc). Ich war vor dem Studium auch mal im Außendienst. Bin zwar n ruhiger Typ und kein typischer Drücker-Verkäufer, allerdings liebe ich es rumzukommen, auch mal Kontakt zu Menschen zu haben und nicht den ganzen Tag am Scheibtisch gefesselt zu sein.
  • große Konzerne wo man für jede kleine Aufgabe eine Genehmigung braucht und den ganzen Tag fast nur Zeit totschlägt und Alibi-Arbeit macht will ich auf keinen Fall (hatte ich bisher genug)
  • die täglichen langweilligen Meetings in großer Runde wo man Kamera anmachen muss stressen mich übel, aber na ja, wenn's sein muss.

Ich hätte ein Angebot von einer kleinen Firma, wo ich viele Aufgaben übernehmen kann, was durchaus interessant wäre, aber leider liegt das in einer Stadt wo die Mieten sehr teuer sind und ich ungern dahin will.

In einer anderen Stadt wo die Mieten gut sind, hätte ich ein Angebot für C# in einer großen Firma (laut Kununu viel überstunden und klassisch patriarchalisch aufgebaut, wo man gesagt bekommt vom Chef was genau zu tun ist und man sich fügen muss und durchbeißen muss; dafür gutes Geld und viele Benefits) oder für Python Entwickler in einer mittelgroßen Firma (schlechtere Bezahlung aber bessere WorkLife Balance).

Für die Python/ML Stelle fühle ich mich aktuell garnicht so wirklich qualifiziert (da kein Doktor oder Master in dem Bereich vorhanden). Außerdem wäre es eine Einschränkung im Lebenslauf, da Python Entwickler aktuell seltener gefragt sind als C# Entwickler.

So ganz ideal ist bisher kein Angebot, aber es sollte zumindest kein totaler Reinfall sein.

Falls es hier ITler gibt, rein vom Bauchgefühl her, wozu würdet ihr mir raten?

C Sharp, künstliche Intelligenz, Programmiersprache, Python, Softwareentwickler, Softwareentwicklung, ml, .net-Framework, Software-Entwickler, maschinelles Lernen

vom Listen-key die values im dict auslesen?

def add_vocabulary(key_word, value_word, form='infinitiv'):
dater = datetime.datetime.now().strftime("%d-%m-%Y")
    try:
        with (open('wordlist.json', 'r', encoding="utf-8-sig") as f):
            data = json.load(f)
            if dater not in data:
                data[dater] = {}
            if "0" not in data[dater]:
                data[dater]["0"] = {}
            if key_word not in data[dater]["0"]:
                data[dater]["0"] = [key_word]
            # KeyError 'h'
            if form not in data[dater]["0"][map(lambda y: y['Tags'], data[key_word])]:
                data[dater]["0"][key_word][form] = {}
                data[str(dater)]["0"][key_word][form] = value_word
                print("added as " + form + ": " + "english: " + key_word + "   german: " + value_word)

            while value_word != data[dater]["0"][key_word][form]:
                twogerman = data[dater]["0"][key_word][form]
                overwrite = input(f'do you want overwrite "%s" to "%s" (y-n): ' % (twogerman, value_word))
                if "y" == overwrite or "yes" == overwrite:
                    old_german = data[str(dater)]["0"][key_word][form]
                    data[str(dater)]["0"][key_word][form] = value_word
                    print("overwrite: " + "   form: " + form + ",   english: " + key_word + ",   german: " + old_german)
                    print("white: " + "   english: " + key_word + ",   german: " + value_word)
                    break
                elif "n" == overwrite or "no" == overwrite:
                    break

        with open('wordlist.json', 'w', encoding="utf-8-sig") as f:
            json.dump(data, f)

Schlüsselwort = h; value_word=j;

Ich möchte über das Schlüsselwort = ['h']-Werte auf die Werte zugreifen

Ich habe es mit mappen versucht, aber es erscheint der gleiche KeyError „h“.

Array, Python, Liste, JSON

Python, wo ist hier der Fehler?

Wir erhalten eine Liste mit Elementen, die in eine Datei geschrieben werden sollen. Dazu soll jedes Element der Liste jeweils mit der zusätzlichen Information, an welchem Index wir uns gerade befinden, versehen werden. (Siehe Beispielausgabe in der Tabelle.)

In dieser Aufgabe brauchen wir keinen zusätzlichen print()-Aufruf. Es sollen nur Inhalte in die Datei geschrieben werden; es soll also keine normale Ausgabe der Inhalte geben.

Tipp: Um sowohl Strings als auch Zahlen in die jeweils aktuelle Zeile zu schreiben, können Zahlen mit str() explizit in einen String umgewandelt werden. Dann können alle Teile der Ausgabe mit einem + aneinandergefügt werden.

Zum Beispiel:

filename = "tiere.txt"
elemente = ["Pinguin", "Nashorn", "Chamäleon", "Pinguin"]
Eintrag 1: Pinguin
Eintrag 2: Nashorn
Eintrag 3: Chamäleon
Eintrag 4: Pinguin

filename = "snacks.txt"
elemente = ["Schokolade", "Chips", "Bonbons", "Kuchen", "Käsebrot"]
Eintrag 1: Schokolade
Eintrag 2: Chips
Eintrag 3: Bonbons
Eintrag 4: Kuchen
Eintrag 5: Käsebrot

filename = "farben.txt"
elemente = ["blau", "gelb", "rot", "lila"]
Eintrag 1: blau 
Eintrag 2: gelb
Eintrag 3: rot
Eintrag 4: lila


Und meine Lösung wäre:

def write_to_file(filename, elemente):
    with open(filename, "w") as file:
        for index, element in enumerate(elemente, start=1):
            entry = "Eintrag " + str(index) + ": " + element + "\n"
            file.write(entry)

filename_tiere = "tiere.txt"
elemente_tiere = ["Pinguin", "Nashorn", "Chamäleon", "Pinguin"]
write_to_file(filename_tiere, elemente_tiere)

filename_snacks = "snacks.txt"
elemente_snacks = ["Schokolade", "Chips", "Bonbons", "Kuchen", "Käsebrot"]
write_to_file(filename_snacks, elemente_snacks)

filename_farben = "farben.txt"
elemente_farben = ["blau", "gelb", "rot", "lila"]
write_to_file(filename_farben, elemente_farben)


Computer, programmieren, Informatik, Python

Ubuntu: Wie mache ich das?

Ich nutze Ubuntu seit einer Woche(keine Programmierkenntnisse)
Ich möchte mit Python ein Programm entwickeln, das mir das leben etwas erleichtert. Ich möchte gerne als erstes meinen Yubikey als Passwortersatz auf meinem Computer installieren. Das Problem ist das ich ja um Änderungen am system vornehmen möchte mich im terminal befinden muss. Wie kann ich trotzdem eine GUI programmieren die mich durch den installationsprozess führt? Es muss doch möglich sein das man ein Programm entwickeln kann das eine GUI hat und trotzdem Zugriff auf das system hat oder nicht?

Zum Beispiel kann man einstellen ob der Yubikey als Passwortersatz oder als zweiter Faktor dienen soll. Das will ich halt wie bei einer .exe Datei schön nach einander in einem installationsguide haben. Ich habe das zu einem gewissen grad auch geschafft und zwar mit einem shellskript uund zenity. Aber sobald es ums eingemachte geht funktioniert es nicht mehr. Und zwar sobald ich den Pin für den Yubikey eingeben soll schlließt sich das Zenityfenster und ich bin im Terminal wo ich dann den Pin dort eingeben soll. Das Passwort vorher das hat funktioniert aber beim Pin eben nicht mehr. Dann kam ich auf die Idee ok machste das eben in Python. Python bietet aber nicht die zugriffsrechte wie ein shellskript. Was nun? Ich möchte auch andere Programme dann in den Installer einfügen so dass ich im prinzip sowas habe wie bei der Einrichtung des Systems am anfang wo man schritt für schritt das system konfiguriert.

Hier ist die Anleitung zu der ich das Programm schreiben möchte: https://wiki.ubuntuusers.de/Howto/Yubikey_anstelle_von_Passw%C3%B6rtern_verwenden/

App, Linux, Webseite, Ubuntu, Code, Programmiersprache, Python, Python 3

Python Programmierungsaufgabe?

Was ist der hier der fehler

Ich suche print()-Aufrufe, die jeweils bestimmte Teile der Eingabesequenz ausgeben. Die print()-Aufrufe können untereinander geschrieben werden (Achtung, die Reihenfolgeist wichtig). Da Indexing und Slicing sowohl für Strings als auch für Listen möglich ist, kann der gleiche Pythoncode alle Tests abdecken.

Die Ausgaben sollen in der folgenden Weise umgesetzt werden:

1. Das letzte Element soll mithilfe von Indexing ausgewählt werden.

2. Die Sequenz soll mithilfe von Slicing so reduziert werden, dass das erste und letzte Element wegfallen und nur die Mitte übrig bleibt.

3. Die Sequenz soll mithilfe von Slicing so reduziert werden, dass nur die zweite Hälfte übrig bleibt. Bei Sequenzen mit gerader Anzahl von Elementen soll genau die zweite Hälfte übrig sein, bei Sequenzen mit ungerader Anzahl von Elementen soll das Element in der Mitte mit ausgegeben werden.

4. Die Sequenz soll mithilfe von Indexing mit negativen Zahlen so reduziert werden, dass nur die letzten vier Elemente übrig bleiben.

5. Die Sequenz soll abhängig von der Länge reduziert werden: Sequenzen mit fünf oder weniger Elementen sollen ohne weiteres ausgegeben werden, aus Sequenzen mit genau acht Elementen sollen zwei Elementen am Anfang und zwei Elementen am Ende wegfallen, bei allen anderen Sequenzen sollen die letzten vier Elementen ausgegeben werden.

beispiel

Test Resultat

eingabe = "ABCDE"

F

BCD

CDE

BCDE

ABCDE

eingabe = "FGHIJKLMN"

N

GHIJKLM

JKLMN

KLMN

KLMN

eingabe = [1, 2, 3, 4, 5, 6, 7, 8]

8

[2, 3, 4, 5, 6, 7]

[5, 6, 7, 8]

[5, 6, 7, 8]

[3, 4, 5, 6]

Bild zum Beitrag
Programmiersprache, Python

TypeError bei Python-Programm?

Ich habe folgendes Programm:

import itertools

# Daten aus der Tabelle einlesen
data = []
with open('tour1.txt', 'r') as file:
    for line in file:
        parts = line.strip().split(',')
        data.append((parts[0], int(parts[1]), parts[2] == 'X'))

# Essentielle Tourpunkte auswählen
essential_points = [place for place, year, is_essential in data if is_essential]

# Funktion zur Berechnung der Teiltour
def calculate_tour(places, essential_places):
    min_distance = float('inf')
    min_tour = None

    for perm in itertools.permutations(essential_places):
        tour = [places[0][0]] + [places[i][0] for i in perm] + [places[0][0]]
        total_distance = 0

        for i in range(len(tour) - 1):
            total_distance += abs([x[1] for x in places if x[0] == tour[i]][0] - [x[1] for x in places if x[0] == tour[i + 1]][0])

        if total_distance < min_distance:
            min_distance = total_distance
            min_tour = tour

    return min_tour

# Sortieren der Orte nach ihrem Jahr
sorted_data = sorted(data, key=lambda x: x[1])

# Die Teiltour berechnen
shortest_tour = calculate_tour(sorted_data, essential_points)

# Ergebnis ausgeben
for point in shortest_tour:
    print(point, end=" -> ")
print(shortest_tour[0])  # Zum Startpunkt zurückkehren

Beim Ausführen wird mir folgender Fehler ausgegeben: TypeError: list indices must be integers or slices, not str

Die Textdatei ist nach dem Format "Brauerei,1613,X,0" (als Beispiel) aufgebaut.
Ich habe probiert das Problem durch ein voranstellen von Int() bei den Listen zu Lösen, was nicht funktioniert hat...
Gibt es eine andere Möglichkeit zur Lösung?

Vielen Dank!

Error, Programmiersprache, Python

flask: jinja2.exceptions.TemplateNotFound: index.html | Wie fixen?

Hallo zusammen,

nachdem ich jetzt Stunden, und zwar wirklich Stunden an nur einem, meiner Meinung nach unnötigem Problem gesessen habe, bitte ich nun um Hilfe.

Folgendes vorab: Nachdem ich die Datenbankkonfiguration ausgelagert habe, fing das Problem wieder an. Zuvor habe ich in die flask_app.py einfach folgendes eingetragen, was das Problem löste:

data = "Daten aus Python-Skript"

Ich persönlich arbeite mich ja in die Programmierung ein, habe aber das Gefühl, dass Flask irgendwie unnötig kompliziert ist. Aber das ist ja nicht wichtig.

Ich habe just for fun OpenAI mal über den Code laufen lassen: Zugegeben, ist das nicht die schlauste Option, aber nach 5 Stunden nur für diesen Code verzweifelt man doch etwas xD

Ich möchte Daten aus der Datenbank abrufen und auf der Webseite anzeigen lassen. Dazu existiert folgender Code:

Hauptverzeichnis/main.py:

from web.flask_app import app
from systm import main

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=5000)  # 5000 Standard

Hauptverzeichnis/systm/main.py:

from flask import Flask, render_template
from systm.d import create_db_connection

app = Flask(__name__)


# Datenbankverbindung initialisieren
db = create_db_connection()
cursor = db.cursor()


@app.route('/')
def display_data():
    # Hier können Sie Daten aus Ihrem Python-Skript abrufen
    cursor.execute("SELECT * FROM products")
    product_info = cursor.fetchall()

    # Diese Daten werden an die HTML-Datei übergeben
    return render_template('index.html', product_info=product_info)


# Route, um Produktinformationen anzuzeigen
@app.route('/products')
def display_products():
    # Informationen aus der Datenbank abrufen
    cursor.execute("SELECT * FROM products")
    product_info = cursor.fetchall()

    # Informationen an das HTML-Template übergeben und anzeigen
    return render_template('products.html', product_info=product_info)


if __name__ == '__main__':
    app.run(debug=True)

Hauptverzeichnis/systm/d.py:

import mysql.connector

def create_db_connection():
    db = mysql.connector.connect(
        host="",
        user="",
        password="",
        database=""
    )
    return db

Hauptverzeichnis/web/flask_app.py:

from flask import Flask, render_template
from systm.d import create_db_connection

app = Flask(__name__, template_folder='web/templates', static_folder='web/static')


# Deaktivieren des Template-Caching
app.jinja_env.auto_reload = True
app.config['TEMPLATES_AUTO_RELOAD'] = True
app.config['STATIC_AUTO_RELOAD'] = True


# Datenbankverbindung initialisieren
db = create_db_connection()
cursor = db.cursor()


@app.route('/')
def display_data():
    # Daten aus der Datenbank abrufen
    cursor.execute("SELECT * FROM products")
    product_info = cursor.fetchall()

    # Diese Daten werden an die HTML-Datei übergeben und angezeigt
    return render_template('index.html', product_info=product_info)

Hauptverzeichnis/web/templates/index.html :

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="style/css" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
    <h1>Produktinformationen</h1>
    <table>
        <tr>
            <th>Produktname</th>
            <th>Verschlüsselungstyp</th>
            <!-- Weitere Spalten hinzufügen -->
        </tr>
        {% for product in product_info %}
        <tr>
            <td>{{ product[0] }}</td>
            <td>{{ product[1] }}</td>
            <!-- Weitere Spalten hinzufügen -->
        </tr>
        {% endfor %}
    </table>
</body>
</html>
HTML, Webseite, HTML5, Programmiersprache, Python, Webentwicklung, Python 3, Flask

Meistgelesene Beiträge zum Thema Python