Python-Cheat-Sheet – Nützliche Python-Code-Schnipsel.

Häufig benötigte Python-Code-Snippets

Inhaltsverzeichnis

Manchmal braucht man das, findet es aber nicht sofort. Daher sammle ich sie alle hier.

Es handelt sich nicht um etwas Neues, sondern um eine Sammlung von Copy-Pastes, die für mich funktionieren, und ich hoffe, dass Sie sie ebenfalls nützlich finden könnten.

Awesome Python in 3d

Häufige Anaconda-Befehle

Werfen Sie einen Blick auf den uv - Neuer Python-Paket-, Projekt- und Umgebungsmanager

Überprüfen Sie, ob Conda installiert ist

conda -V

Überprüfen Sie, ob Conda auf dem neuesten Stand ist

conda update conda

Erstellen Sie eine virtuelle Umgebung

conda create -n newenvname python=3.12 anaconda

Aktivieren Sie Ihre virtuelle Umgebung

source activate newenvname

Installieren Sie zusätzliche Python-Pakete in einer virtuellen Umgebung

conda install -n newenvname [package]

Deaktivieren Sie Ihre virtuelle Umgebung

source deactivate

Löschen Sie die virtuelle Umgebung

conda remove -n newenvname --all

Programmierabhängigkeiten

Installieren von Abhängigkeiten - Verwendung einer Anforderungen-Datei

Anstatt Pakete einzeln zu installieren, ermöglicht pip die Deklaration aller Abhängigkeiten in einer Anforderungen-Datei. Zum Beispiel könnten Sie eine requirements.txt-Datei erstellen, die Folgendes enthält:

requests==2.18.4
google-auth==1.1.0

Und pip anweisen, alle Pakete in dieser Datei mit der -r-Option zu installieren:

python3 -m pip install -r requirements.txt

Einfrieren von Abhängigkeiten

Pip kann eine Liste aller installierten Pakete und deren Versionen mit dem freeze-Befehl exportieren:

python3 -m pip freeze

wird etwas wie Folgendes erzeugen

requests==2.18.4
google-auth==1.1.0

Der pip freeze-Befehl ist nützlich, um Anforderungen-Dateien zu erstellen, die die genauen Versionen aller in einer Umgebung installierten Pakete wiederherstellen können.

Rechteck zeichnen

import cv2

cv2.rectangle(img, (x1, y1), (x2, y2), color=(255,0,0), thickness=2)

x1,y1 ------
|          |
|          |
|          |
--------x2,y2

um die folgenden Nachfragen anzuhängen:

cv2.imwrite("my.png",img)

cv2.imshow("lalala", img)
k = cv2.waitKey(0) # 0==warten für immer

Ich habe ein PIL Image-Objekt und möchte ein Rechteck auf diesem Bild zeichnen. Ich möchte OpenCV2 verwenden und ein Rechteck zeichnen und dann zum PIL Image-Objekt zurückkehren. So mache ich es:

# im ist ein PIL Image-Objekt
im_arr = np.asarray(im)
# Konvertieren Sie das RGB-Array in das BGR-Format von OpenCV
im_arr_bgr = cv2.cvtColor(im_arr, cv2.COLOR_RGB2BGR)
# pts1 und pts2 sind die oberen linken und unteren rechten Koordinaten des Rechtecks
cv2.rectangle(im_arr_bgr, pts1, pts2,
              color=(0, 255, 0), thickness=3)
im_arr = cv2.cvtColor(im_arr_bgr, cv2.COLOR_BGR2RGB)
# Konvertieren Sie zurück zum Image-Objekt
im = Image.fromarray(im_arr)

Einfache Argumentverarbeitung

import json

#---------------------------------------------------------------------------
def do_some_awesomeness(src_file, tgt_file):
    print('Konvertieren von etwas von {} zu {}'.format(src_file, tgt_file))

#---------------------------------------------------------------------------
def run():
    import argparse

    parser = argparse.ArgumentParser(description="Ein mega nützliches und effizientes Python-Tool.")
    parser.add_argument("-s", "--src", dest="src_file",
        help="Eingabedateiname der JSON-Datei")
    parser.add_argument("-t", "--tgt", dest="tgt_file",
        help="Ausgabedateiname der JSON-Datei")

    args = parser.parse_args()

    do_some_awesomeness(args.src_file, args.tgt_file)

if __name__ == '__main__':
    run()

Rufen Sie es dann wie folgt auf

python ave_roma.py --src 1.json --tgt 2.json

Laden und Speichern von JSON

import json

def do_convert(src_file, tgt_file):

    with open(src_file) as f:
        src = json.load(f)

    tgt = src # :)

    with open(tgt_file, 'w', encoding='utf-8') as f:
        json.dump(tgt, f, ensure_ascii=False, indent=4)

Dateiname ohne Erweiterung erhalten

import os

print(os.path.splitext("/path/to/some/file.txt")[0])

wird Folgendes ausgeben:

/path/to/some/file