Erste Schritte bei der Verwendung von Python unter Windows für Skripts und Automatisierung

Im Folgenden finden Sie eine Schritt-für-Schritt-Anleitung für das Einrichten Ihrer Entwicklerumgebung und den Einstieg in die Verwendung von Python für die Skripterstellung und Automatisierung von Dateisystemvorgängen unter Windows.

Hinweis

In diesem Artikel wird beschrieben, wie Sie Ihre Umgebung einrichten, um einige der nützlichen Bibliotheken in Python zu verwenden, die Aufgaben plattformübergreifend automatisieren können, wie z. B. das Durchsuchen des Dateisystems, das Zugreifen auf das Internet, das Auswerten von Dateitypen usw. mit einem Windows-zentrierten Ansatz. Informationen zu Windows-spezifischen Vorgängen finden Sie unter ctypes, einer C-kompatiblen Fremdfunktionsbibliothek für Python, winreg, Funktionen, die die Windows-Registrierungs-API für Python verfügbar machen, und Python/WinRT, um den Zugriff auf Windows-Runtime-APIs von Python zu ermöglichen.

Einrichten der Entwicklungsumgebung

Wenn Sie Python zum Schreiben von Skripts verwenden, die Dateisystemvorgänge ausführen, sollten Sie Python aus dem Microsoft Store installieren. Bei der Installation über den Microsoft Store wird der grundlegende Python3-Interpreter verwendet, jedoch werden zusätzlich zur Bereitstellung automatischer Updates Ihre PATH-Einstellungen für den aktuellen Benutzer eingerichtet (sodass kein Administratorzugriff erforderlich ist).

Wenn Sie Python zur Webentwicklung unter Windows verwenden, empfehlen wir eine andere Einrichtung mithilfe des Windows-Subsystems für Linux. Eine exemplarische Vorgehensweise finden Sie in unserem Handbuch: Erste Schritte bei der Verwendung von Python für die Webentwicklung unter Windows. Wenn Sie noch nicht mit Python vertraut sind, testen Sie unser Handbuch: Erste Schritte bei der Verwendung von Python unter Windows für Anfänger. Für einige erweiterte Szenarien (wenn es z. B. erforderlich ist, auf installierte Python-Dateien zuzugreifen oder sie zu ändern, Kopien von Binärdateien zu erstellen oder Python-DLLs direkt zu erstellen) sollten Sie ein bestimmtes Python-Release direkt unter python.org herunterladen oder eine Alternative installieren, z. B. Anaconda, Jython, PyPy, WinPython, IronPython usw. Dies wird nur empfohlen, wenn Sie ein versierter Python-Programmierer sind und bestimmte Gründe für die Auswahl einer alternativen Implementierung haben.

Installieren von Python

So installieren Sie Python mit dem Microsoft Store:

  1. Wechseln Sie zum Menü Start (unteres linkes Windows-Symbol), geben Sie „Microsoft Store“ ein, und wählen Sie den Link zum Öffnen des Stores aus.

  2. Sobald der Store geöffnet ist, wählen Sie im oberen rechten Menü Suchen aus, und geben Sie „Python“ ein. Wählen Sie aus den Ergebnissen unter Apps aus, welche Version von Python Sie verwenden möchten. Wir empfehlen, die aktuellste Version zu verwenden, es sei denn, es liegt ein Grund vor, dies nicht zu tun (z. B. Abgleich mit der Version, die in einem bereits existierenden Projekt verwendet wird, an dem Sie arbeiten wollen). Nachdem Sie bestimmt haben, welche Version Sie installieren möchten, wählen Sie Abrufen aus.

  3. Nachdem Python den Download- und Installationsprozess abgeschlossen hat, öffnen Sie Windows PowerShell über das Menü Start (unteres linkes Windows-Symbol). Sobald PowerShell geöffnet ist, geben Sie Python --version ein, um zu bestätigen, dass Python3 auf Ihrem Computer installiert wurde.

  4. Die Microsoft Store-Installation von Python umfasst PIP, den standardmäßigen Paket-Manager. Über PIP können Sie zusätzliche Pakete installieren und verwalten, die nicht Teil der Python-Standardbibliothek sind. Geben Sie pip --version ein, um zu bestätigen, dass Ihnen auch PIP zum Installieren und Verwalten von Paketen zur Verfügung steht.

Installieren von Visual Studio Code

Wenn Sie VS Code als Text-Editor/integrierte Entwicklungsumgebung (Integrated Development Environment, IDE) verwenden, können Sie IntelliSense (eine Codevervollständigungshilfe), Linting (hilft, Fehler in Ihrem Code zu vermeiden), Debugunterstützung (hilft Ihnen, Fehler in Ihrem Code nach der Ausführung zu finden), Codeausschnitte (Vorlagen für kleine wiederverwendbare Codeblöcke) und Komponententests (Testen der Codeschnittstelle mit unterschiedlichen Eingabetypen) nutzen.

Laden Sie VS Code für Windows herunter, und folgen Sie den Installationsanweisungen: https://code.visualstudio.com.

Installieren der Microsoft Python-Erweiterung

Sie müssen die Microsoft Python-Erweiterung installieren, um die Features der VS Code-Unterstützung nutzen zu können. Weitere Informationen

  1. Öffnen Sie das Fenster der VS Code-Erweiterungen, indem Sie STRG+UMSCHALT+X drücken (oder navigieren Sie im Menü zu Ansicht>Erweiterungen).

  2. Geben Sie im oberen Feld Nach Extensions in Marketplace suchen Folgendes ein: Python.

  3. Suchen Sie die Erweiterung Python (ms-python.python) von Microsoft, und wählen Sie die grüne Schaltfläche Installieren aus.

Öffnen des integrierten PowerShell-Terminals in VS Code

VS Code enthält ein integriertes Terminal, mit dem Sie eine Python-Befehlszeile mit PowerShell öffnen können. Dadurch wird ein nahtloser Workflow zwischen dem Code-Editor und der Befehlszeile eingerichtet.

  1. Öffnen Sie das Terminal in VS Code, wählen Sie Anzeigen>Terminal aus, oder verwenden Sie alternativ die Verknüpfung STRG+` (mit dem Graviszeichen).

    Hinweis

    Das Standardterminal sollte PowerShell sein. Wenn Sie es jedoch ändern müssen, verwenden Sie STRG+UMSCHALT+P, um die Befehlspalette aufzurufen. Geben Sie Terminal: Standardshell auswählen ein, und eine Liste von Terminaloptionen mit PowerShell, Eingabeaufforderung, WSL usw. wird angezeigt. Wählen Sie die gewünschte Option aus, und geben Sie STRG+UMSCHALT+` (mit dem Graviszeichen) ein, um ein neues Terminal zu erstellen.

  2. Öffnen Sie Python in Ihrem VS Code-Terminal, indem Sie Folgendes eingeben: python.

  3. Probieren Sie den Python-Interpreter aus, indem Sie Folgendes eingeben: print("Hello World"). Python gibt Ihre Anweisung „Hello World“ zurück.

    Python command line in VS Code

  4. Um Python zu beenden, können Sie exit(), quit()oder „STRG+Z“ eingeben.

Installieren von Git (optional)

Wenn Sie beabsichtigen, zusammen mit anderen an Ihrem Python-Code zu arbeiten oder das Projekt an einem Open-Source-Standort (wie GitHub) zu hosten, unterstützt VS Code die Versionskontrolle mit Git. Auf der Registerkarte „Quellcodeverwaltung“ in VS Code werden alle Änderungen nachverfolgt und gängige Git-Befehle („Add“, „Commit“, „Push“, „Pull“) direkt in die Benutzeroberfläche integriert. Sie müssen zunächst Git installieren, um den Bereich „Quellcodeverwaltung“ zu aktivieren.

  1. Laden Sie Git für Windows von der git-scm-Website herunter, und installieren Sie Git.

  2. Ein Installations-Assistent ist enthalten, der Ihnen eine Reihe von Fragen zu den Einstellungen für die Git-Installation stellt. Sie sollten alle Standardeinstellungen verwenden, sofern kein bestimmter Grund vorliegt, etwas zu ändern.

  3. Wenn Sie noch nie zuvor mit Git gearbeitet haben, können Sie GitHub-Leitfäden für den Einstieg nutzen.

Beispielskript zum Anzeigen der Struktur Ihres Dateisystemverzeichnisses

Allgemeine Systemverwaltungsaufgaben können sehr lange dauern, aber mit einem Python-Skript können Sie diese Aufgaben automatisieren, sodass Sie überhaupt keine Zeit investieren müssen. Python kann z. B. den Inhalt des Dateisystems Ihres Computers lesen und Vorgänge wie die Ausgabe einer Gliederung Ihrer Dateien und Verzeichnisse, das Verschieben von Ordnern von einem Verzeichnis in ein anderes oder das Umbenennen Hunderter von Dateien durchführen. Bei manueller Ausführung können solche Aufgaben normalerweise einige Zeit in Anspruch nehmen. Verwenden Sie stattdessen ein Python-Skript!

Beginnen wir mit einem einfachen Skript, das eine Verzeichnisstruktur durchläuft und die Verzeichnisstruktur anzeigt.

  1. Öffnen Sie PowerShell über das Menü Start (unteres linkes Windows-Symbol).

  2. Erstellen Sie ein Verzeichnis für das Projekt: mkdir python-scripts, und öffnen Sie dann das Verzeichnis: cd python-scripts.

  3. Erstellen Sie einige Verzeichnisse zur Verwendung mit unserem Beispielskript:

    mkdir food, food\fruits, food\fruits\apples, food\fruits\oranges, food\vegetables
    
  4. Erstellen Sie in diesen Verzeichnissen einige Dateien zur Verwendung mit unserem Skript:

    new-item food\fruits\banana.txt, food\fruits\strawberry.txt, food\fruits\blueberry.txt, food\fruits\apples\honeycrisp.txt, food\fruits\oranges\mandarin.txt, food\vegetables\carrot.txt
    
  5. Erstellen Sie eine neue Python-Datei in Ihrem Python-Skriptverzeichnis:

    mkdir src
    new-item src\list-directory-contents.py
    
  6. Öffnen Sie das Projekt in VS Code, indem Sie Folgendes eingeben: code ..

  7. Öffnen Sie den VS Code-Datei-Explorer, indem Sie STRG+UMSCHALT+E drücken (oder im Menü zuAnsicht>Explorer navigieren) und die gerade erstellte Datei „list-directory-contents.py“ auswählen. Die Microsoft Python-Erweiterung lädt automatisch einen Python-Interpreter. Sie können sehen, welcher Interpreter am unteren Rand des VS Code-Fensters geladen wurde.

    Hinweis

    Python ist eine übersetzte Sprache, d. h., sie fungiert als virtueller Computer, der einen physischen Computer emuliert. Verschiedene Arten von Python-Interpretern stehen Ihnen zur Verwendung zur Verfügung: Python 2, Python 3, Anaconda, PyPy etc. Zum Ausführen von Python-Code und Abrufen von Python IntelliSense müssen Sie VS Code mitteilen, welcher Interpreter verwendet werden soll. Sie sollten bei dem Interpreter bleiben, den VS Code standardmäßig auswählt (in unserem Fall Python 3), es sei denn, Sie haben einen bestimmten Grund für eine andere Auswahl. Um den Python-Interpreter zu ändern, wählen Sie den aktuell in der blauen Leiste unten im VS Code-Fenster angezeigten Interpreter aus, oder öffnen Sie die Befehlspalette (STRG+UMSCHALT+P), und geben Sie den Befehl Python: Interpreter auswählen ein. Dadurch wird eine Liste der derzeit installierten Python-Interpreter angezeigt. Weitere Informationen zum Konfigurieren von Python-Umgebungen.

    Select Python interpreter in VS Code

  8. Fügen Sie den folgenden Code in die „list-directory-contents.py“-Datei ein, und wählen Sie dann Speichern aus:

    import os
    
    root = os.path.join('..', 'food')
    for directory, subdir_list, file_list in os.walk(root):
        print('Directory:', directory)
        for name in subdir_list:
            print('Subdirectory:', name)
        for name in file_list:
            print('File:', name)
        print()
    
  9. Öffnen Sie das integrierte VS Code-Terminal (STRG +` , verwenden Sie das Graviszeichen), und geben Sie das src-Verzeichnis ein, in dem Sie soeben das Python-Skript gespeichert haben:

    cd src
    
  10. Führen Sie das Skript in PowerShell aus mit:

    python3 .\list-directory-contents.py
    

    Eine Ausgabe wie die folgende sollte angezeigt werden:

    Directory: ..\food
    Subdirectory: fruits
    Subdirectory: vegetables
    
    Directory: ..\food\fruits
    Subdirectory: apples
    Subdirectory: oranges
    File: banana.txt
    File: blueberry.txt
    File: strawberry.txt
    
    Directory: ..\food\fruits\apples
    File: honeycrisp.txt
    
    Directory: ..\food\fruits\oranges
    File: mandarin.txt
    
    Directory: ..\food\vegetables
    File: carrot.txt
    
  11. Verwenden Sie Python, um das Dateisystemverzeichnis in eine eigene Textdatei auszugeben, indem Sie diesen Befehl direkt in Ihrem PowerShell-Terminal eingeben: python3 list-directory-contents.py > food-directory.txt.

Herzlichen Glückwunsch! Sie haben soeben ein automatisiertes Systemverwaltungsskript geschrieben, das das erstellte Verzeichnisse und die erstellten Dateien liest und mit Python die Verzeichnisstruktur anzeigt und anschließend in eine eigene Textdatei ausgibt.

Hinweis

Wenn Sie Python 3 nicht aus dem Microsoft Store installieren können, finden Sie hier ein Beispiel für die Verarbeitung des Pfads für dieses Beispielskript.

Beispielskript zum Ändern aller Dateien in einem Verzeichnis

In diesem Beispiel werden die Dateien und Verzeichnisse verwendet, die Sie soeben erstellt haben. Dabei wird jede der Dateien umbenannt, indem das Datum der letzten Änderung dem Dateinamen vorangestellt wird.

  1. Erstellen Sie im Ordner src des python-scripts-Verzeichnisses eine neue Python-Datei für das Skript:

    new-item update-filenames.py
    
  2. Öffnen Sie die Datei „update-filenames.py“, fügen Sie den folgenden Code in die Datei ein, und speichern Sie sie:

    Hinweis

    „os.getmtime“ gibt einen Zeitstempel in Ticks zurück, der nicht leicht lesbar ist. Er muss zuerst in eine standardmäßige DateTime-Zeichenfolge konvertiert werden.

    import datetime
    import os
    
    root = os.path.join('..', 'food')
    for directory, subdir_list, file_list in os.walk(root):
        for name in file_list:
            source_name = os.path.join(directory, name)
            timestamp = os.path.getmtime(source_name)
            modified_date = str(datetime.datetime.fromtimestamp(timestamp)).replace(':', '.')
            target_name = os.path.join(directory, f'{modified_date}_{name}')
    
            print(f'Renaming: {source_name} to: {target_name}')
    
            os.rename(source_name, target_name)
    
  3. Testen Sie das update-filenames.py-Skript, indem Sie es ausführen: python3 update-filenames.py, und führen Sie dann das list-directory-contents.py-Skript erneut aus: python3 list-directory-contents.py.

  4. Eine ähnliche Ausgabe wie die folgende sollte angezeigt werden:

    Renaming: ..\food\fruits\banana.txt to: ..\food\fruits\2019-07-18 12.24.46.385185_banana.txt
    Renaming: ..\food\fruits\blueberry.txt to: ..\food\fruits\2019-07-18 12.24.46.391170_blueberry.txt
    Renaming: ..\food\fruits\strawberry.txt to: ..\food\fruits\2019-07-18 12.24.46.389174_strawberry.txt
    Renaming: ..\food\fruits\apples\honeycrisp.txt to: ..\food\fruits\apples\2019-07-18 12.24.46.395160_honeycrisp.txt
    Renaming: ..\food\fruits\oranges\mandarin.txt to: ..\food\fruits\oranges\2019-07-18 12.24.46.398151_mandarin.txt
    Renaming: ..\food\vegetables\carrot.txt to: ..\food\vegetables\2019-07-18 12.24.46.402496_carrot.txt
    
    PS C:\src\python-scripting\src> python3 .\list-directory-contents.py
    ..\food\
    Directory: ..\food
    Subdirectory: fruits
    Subdirectory: vegetables
    
    Directory: ..\food\fruits
    Subdirectory: apples
    Subdirectory: oranges
    File: 2019-07-18 12.24.46.385185_banana.txt
    File: 2019-07-18 12.24.46.389174_strawberry.txt
    File: 2019-07-18 12.24.46.391170_blueberry.txt
    
    Directory: ..\food\fruits\apples
    File: 2019-07-18 12.24.46.395160_honeycrisp.txt
    
    Directory: ..\food\fruits\oranges
    File: 2019-07-18 12.24.46.398151_mandarin.txt
    
    Directory: ..\food\vegetables
    File: 2019-07-18 12.24.46.402496_carrot.txt
    
    
  5. Verwenden Sie Python, um die neuen Dateisystemverzeichnis-Namen mit dem vorangestellten Zeitstempel der letzten Änderung in eine eigene Textdatei auszugeben, indem Sie diesen Befehl direkt in Ihrem PowerShell-Terminal eingeben: python3 list-directory-contents.py > food-directory-last-modified.txt.

Sie haben jetzt bestimmt einige interessante Aspekte der Verwendung von Python-Skripts für die Automatisierung grundlegender Systemverwaltungsaufgaben kennengelernt. Natürlich können Sie hierzu noch viel mehr lernen, aber wir hoffen, dass Sie hiermit einen guten Einstieg haben. Unten finden Sie einige zusätzliche, weiterführende Ressourcen.

Zusätzliche Ressourcen

  • Python Docs: File and Directory Access (Python-Dokumente: Datei- und Verzeichniszugriff): Python-Dokumentation zum Arbeiten mit Dateisystemen und Verwenden von Modulen zum Lesen der Eigenschaften von Dateien, zum Ändern von Pfaden zur Portierbarkeit und Erstellen temporärer Dateien.
  • Learn Python: String_Formatting Tutorial (Python lernen: Tutorial zur Zeichenfolgenformatierung): Weitere Informationen zur Verwendung des Operators „%“ zur Zeichenfolgenformatierung.
  • 10 Python File System Methods You Should Know (10 Python-Dateisystemmethoden, die Sie kennen sollten): Weiterführender Artikel zur Bearbeitung von Dateien und Ordnern mit os und shutil.
  • The Hitchhikers Guide to Python: Systems Administration (Per Anhalter durch Python: Systemadministration): Ein „dogmatisches Handbuch", dass Übersichten und bewährte Vorgehensweisen zu Python enthält. In diesem Abschnitt werden die Tools und Frameworks zur Systemadministratuion behandelt. Dieses Handbuch wird auf GitHub gehostet, sodass Sie Probleme vortragen und Beiträge leisten können.