Heim > Backend-Entwicklung > Python-Tutorial > Python-Projekte zur Förderung des Python-Lernens

Python-Projekte zur Förderung des Python-Lernens

Patricia Arquette
Freigeben: 2024-12-21 06:27:09
Original
255 Leute haben es durchsucht

Erste Schritte mit der DevOps-Automatisierung mithilfe von Python-Skripten

? Einführung

Willkommen in der Welt von DevOps und Python
Es ist ein weit verbreiteter Mythos, dass DevOps-Ingenieure nicht programmieren, aber die Wahrheit ist weit davon entfernt. DevOps-Ingenieure verlassen sich häufig auf Programmierkenntnisse, um Prozesse zu automatisieren, die Infrastruktur zu verwalten und Arbeitsabläufe zu vereinfachen. Python und Go sind aufgrund ihrer Vielseitigkeit und Benutzerfreundlichkeit zwei der beliebtesten Sprachen in der DevOps-Welt.

Heute begeben wir uns auf eine spannende Reise, um drei Python-Projekte zu erstellen, die Ihnen nicht nur den Kern des Programmierens näherbringen, sondern Ihnen auch dabei helfen, sinnvolle, praktische Anwendungen zu erstellen.

Das werden wir erkunden:

  • Wetterprogramm – Ein Programm, das den Namen einer Stadt als Eingabe vom Benutzer übernimmt und das aktuelle Wetter anzeigt. (Wir werden die WeatherAPI verwenden, um Daten im JSON-Format abzurufen – klingt spannend, oder?)
  • GitHub Pull Request Tracker – Ein Echtzeitprojekt zum Auflisten von Benutzern, die mithilfe der GitHub-API Pull-Anfragen an ein GitHub-Repository gestellt haben.
  • SlackBot für Jenkins Pipeline – Ein wunderbares Projekt, das eine Jenkins-Pipeline auslöst und ihren Status über einen benutzerdefinierten SlackBot an Ihren Slack-Kanal übermittelt.

Bist du also bereit, in diese Reise einzutauchen? Fangen wir an!


? Voraussetzungen

Bevor wir uns mit dem Codieren befassen, stellen wir sicher, dass Sie über alles verfügen, was Sie für den Einstieg benötigen. Diese Projekte sind für Anfänger geeignet, aber wenn Sie über die folgenden Tools und Fähigkeiten verfügen, wird der Prozess reibungsloser:

1. Grundlegende Python-Kenntnisse
Das Verständnis von Variablen, Funktionen, Schleifen und der Arbeit mit Bibliotheken wird hilfreich sein. Machen Sie sich keine Sorgen, wenn Sie neu sind – diese Projekte werden Ihr Lernen verstärken!

2. Python-Umgebung

Stellen Sie sicher, dass Python auf Ihrem System installiert ist. Sie können es von python.org herunterladen. Ein Code-Editor wie VS Code oder PyCharm wird ebenfalls empfohlen.

3. API-Grundlagen

Sie werden in allen drei Projekten mit APIs arbeiten. Kenntnisse im Erstellen von HTTP-Anfragen und im Umgang mit JSON-Antworten sind von Vorteil, aber ich werde Sie durch jeden Schritt führen.

4. Zu installierende Tools

  • fordert Bibliothek zum Durchführen von API-Aufrufen an. Installieren Sie es mit Pip-Installationsanfragen.
  • Slack-API-Anmeldeinformationen und Einrichtung für das dritte Projekt. Mach dir keine Sorge; Ich werde Ihnen detaillierte Anweisungen geben, wenn wir dort ankommen.
  • GitHub-Konto für das zweite Projekt und Zugriff auf Jenkins für das dritte Projekt.

Sobald Sie mit diesen Voraussetzungen fertig sind, können wir mit unserem ersten Projekt beginnen – der Erstellung eines Wetterprogramms!


? Projekt 1: Wetterprogramm

Lassen Sie uns in unser erstes Python-Projekt eintauchen – ein Wetterprogramm. Dieses einfache, aber praktische Skript übernimmt den Namen einer Stadt als Eingabe vom Benutzer und zeigt das aktuelle Wetter an. Um dies zu erreichen, verwenden wir die WeatherAPI, um Echtzeit-Wetterdaten im JSON-Format abzurufen und benutzerfreundlich anzuzeigen.

Wie es funktioniert:

  • Das Skript fordert den Benutzer auf, den Namen einer Stadt einzugeben.
  • Mithilfe der WeatherAPI und eines API-Schlüssels ruft das Skript die Wetterdaten für die angegebene Stadt ab.
  • Die JSON-Antwort von der API wird analysiert, um Informationen wie Temperatur, Windgeschwindigkeit und Wetterbedingungen zu extrahieren.
  • Die Ergebnisse werden in einem übersichtlichen, lesbaren Format angezeigt.

Schritt-für-Schritt-Anleitung:

  • Erstellen Sie eine Python-Datei:
    • Öffnen Sie Ihren bevorzugten Code-Editor (VS Code oder PyCharm wird empfohlen) und erstellen Sie eine neue Datei mit dem Namen Weather.py.
    • Fügen Sie den folgenden Code ein:
 import requests

 def get_city_weather(city, api_key):
     city_name = city.lower()
     url = f"http://api.weatherapi.com/v1/current.json?key={api_key}&q={city_name}"

     response = requests.get(url)

     if response.status_code == 200:
         data = response.json()

         description = data['current']['condition']['text']
         temp = data['current']['temp_c']
         wind = data['current']['wind_kph']

         print(f"\nWeather in {city.capitalize()}:")
         print(f"Temperature: {temp}°C")
         print(f"Wind Speed: {wind} Km/hr")
         print(f"Condition: {description.capitalize()}")

     else:
         print(f"{city_name} not found.")

 def main():
     city = input("Enter Your City: ")
     API_KEY = "<Your_API_KEY>"

     get_city_weather(city, API_KEY)

 if __name__ == "__main__":
     main()
Nach dem Login kopieren
Nach dem Login kopieren
  • Richten Sie Ihren API-Schlüssel ein:

    • Besuchen Sie WeatherAPI und erstellen Sie ein kostenloses Konto.
    • Generieren Sie nach der Anmeldung Ihren API-Schlüssel, indem Sie den kostenlosen Plan auswählen.
  • Kopieren Sie den API-Schlüssel und ersetzen Sie ihn im Code durch den tatsächlichen Schlüssel.

  • Führen Sie das Skript aus:

    • Öffnen Sie ein Terminal in dem Ordner, in dem Sie Weather.py gespeichert haben.
    • Führen Sie das Skript mit Python Weather.py aus.
    • Geben Sie einen Stadtnamen ein (z. B. „Ganganagar“), wenn Sie dazu aufgefordert werden. Das Skript zeigt die aktuellen Wetterbedingungen für diese Stadt an.

Beispielausgabe:

Enter Your City: Ganganagar
Weather in Ganganagar:
Temperature: 24°C
Wind Speed: 10 Km/hr
Condition: Clear
Nach dem Login kopieren
Nach dem Login kopieren

Und das ist es! Sie haben Ihr erstes Python-Projekt erfolgreich erstellt. Es ist eine einfache, aber leistungsstarke Möglichkeit, zu sehen, wie APIs in realen Anwendungen funktionieren.


? Projekt 2: GitHub Pull Request Tracker

Jetzt erstellen wir einen GitHub Pull Request (PR) Tracker. Dieses Projekt nutzt die GitHub-API, um Details zu Pull-Requests für ein bestimmtes Repository abzurufen. Wir filtern die Daten, um die Benutzernamen der PR-Ersteller zu extrahieren, zählen die Anzahl der PRs, die jeder Ersteller erstellt hat, und zeigen diese Informationen an.

Wie es funktioniert:

  • Das Skript stellt eine HTTP-GET-Anfrage an die GitHub-API für Pull-Request-Details eines Repositorys.
  • Es analysiert die JSON-Antwort, um Benutzernamen von PR-Erstellern zu extrahieren.
  • Diese Benutzernamen werden in einem Wörterbuch gespeichert, zusammen mit der Anzahl der von ihnen erstellten PRs.
  • Das Programm gibt das Wörterbuch und eine detaillierte Liste der PR-Ersteller mit ihrer jeweiligen Anzahl aus.

Schritt-für-Schritt-Anleitung:

  • Erstellen Sie eine Python-Datei:
    • Öffnen Sie Ihren Code-Editor und erstellen Sie eine neue Datei mit dem Namen gb_tracker.py.
    • Fügen Sie den folgenden Code ein:
 import requests

 def get_city_weather(city, api_key):
     city_name = city.lower()
     url = f"http://api.weatherapi.com/v1/current.json?key={api_key}&q={city_name}"

     response = requests.get(url)

     if response.status_code == 200:
         data = response.json()

         description = data['current']['condition']['text']
         temp = data['current']['temp_c']
         wind = data['current']['wind_kph']

         print(f"\nWeather in {city.capitalize()}:")
         print(f"Temperature: {temp}°C")
         print(f"Wind Speed: {wind} Km/hr")
         print(f"Condition: {description.capitalize()}")

     else:
         print(f"{city_name} not found.")

 def main():
     city = input("Enter Your City: ")
     API_KEY = "<Your_API_KEY>"

     get_city_weather(city, API_KEY)

 if __name__ == "__main__":
     main()
Nach dem Login kopieren
Nach dem Login kopieren

Führen Sie das Skript aus:

  • Öffnen Sie ein Terminal in dem Ordner, der gb_tracker.py enthält.
  • Führen Sie das Skript mit Python gb_tracker.py aus.

Erwartete Ausgabe:

Wenn das Skript erfolgreich ausgeführt wird, ruft es Details zu Pull-Anfragen aus dem argoproj/argo-cd-Repository ab. Dadurch wird die folgende Ausgabe angezeigt:

Enter Your City: Ganganagar
Weather in Ganganagar:
Temperature: 24°C
Wind Speed: 10 Km/hr
Condition: Clear
Nach dem Login kopieren
Nach dem Login kopieren

Anwendungsfälle:

  • Entwicklungsumgebung: Verwenden Sie es, um PR-Aktivitäten in einem Repository zu überwachen und den Überblick über Mitwirkende zu behalten.
  • Zusammenarbeit: Identifizieren Sie häufige Mitwirkende und deren Aktivitätsgrad für ein besseres Teammanagement.

Und da haben Sie es! Ein funktionales Skript, das Live-Daten von GitHub abruft und sie verarbeitet, um Erkenntnisse aus der Praxis zu gewinnen.


? Projekt 3: SlackBot für Jenkins Pipeline

Unser letztes Projekt ist ein Juwel – ein Skript, das Jenkins und Slack integriert, um Build-Benachrichtigungen zu automatisieren. Dieses Python-Skript löst eine Jenkins-Pipeline aus, überwacht ihren Status und sendet eine Benachrichtigung an Ihren Slack-Kanal, wenn die Pipeline abgeschlossen ist.

Wie es funktioniert:

  • Pipeline auslösen: Das Skript beginnt mit dem Auslösen einer Jenkins-Pipeline.
  • Build-Status überwachen: Es überprüft den Status der Pipeline in regelmäßigen Abständen, bis der Build abgeschlossen ist.
  • Slack-Benachrichtigung senden: Sobald der Build abgeschlossen ist, verwendet das Skript einen Slack-Bot, um den Status in einem bestimmten Slack-Kanal zu benachrichtigen.

Schritt-für-Schritt-Anleitung:

Erstellen Sie eine Python-Datei:
Erstellen Sie in Ihrem Code-Editor eine Datei mit dem Namen jenkins-slack-integration.py.
Fügen Sie den folgenden Code ein:

 import requests

 url = 'https://api.github.com/repos/argoproj/argo-cd/pulls'

 response = requests.get(url)

 if response.status_code == 200:
     pull_requests = response.json()

     pr_creators = {}

     for pull in pull_requests:
         creator = pull['user']['login']
         if creator in pr_creators:
             pr_creators[creator] += 1
         else:
             pr_creators[creator] = 1

     print(f"PR Creator counts: {pr_creators}")

     for creator, count in pr_creators.items():
         print(f"Creator: {creator}: {count} PRs")

 else:
     print(f"Failed to make connection. Status Code: {response.status_code}")
Nach dem Login kopieren

Jenkins einrichten:

Erstellen Sie in Jenkins ein Pipeline-Projekt mit dem Namen Jenkins-Python-pipeline.
Fügen Sie das folgende Hello World-Pipeline-Skript hinzu:

 PR Creator counts: {'dependabot[bot]': 7, 'devopsjedi': 1, 'aali309': 3, 'adriananeci': 1, 'amine7536': 1, 'lf32': 1, 'OpenGuidou': 1, 'ivan-cai': 1, 'surajyadav1108': 2, 'vasilegroza': 1, 'toyamagu-2021': 1, 'dvcanton': 1, 'vivian-xu': 1, 'rahulbollisetty': 1, 'blakepettersson': 1, 'dacofr': 1, 'mrysavy': 1, 'damsien': 1, 'lsq645599166': 1, 'jpbelangerupgrade': 1, 'Aaron-9900': 1}
 Creator: dependabot[bot]: 7 PRs
 Creator: devopsjedi: 1 PRs
 Creator: aali309: 3 PRs
 Creator: adriananeci: 1 PRs
 Creator: amine7536: 1 PRs
 Creator: lf32: 1 PRs
 Creator: OpenGuidou: 1 PRs
 Creator: ivan-cai: 1 PRs
 Creator: surajyadav1108: 2 PRs
 Creator: vasilegroza: 1 PRs
 Creator: toyamagu-2021: 1 PRs
 Creator: dvcanton: 1 PRs
 Creator: vivian-xu: 1 PRs
 Creator: rahulbollisetty: 1 PRs
 Creator: blakepettersson: 1 PRs
 Creator: dacofr: 1 PRs
 Creator: mrysavy: 1 PRs
 Creator: damsien: 1 PRs
 Creator: lsq645599166: 1 PRs
 Creator: jpbelangerupgrade: 1 PRs
 Creator: Aaron-9900: 1 PRs
 # The details will vary accroding to the time when you run the script.
Nach dem Login kopieren

Generieren Sie ein Jenkins-API-Token:

  • Gehen Sie zu Ihren Jenkins-Benutzereinstellungen.

ython Projects to Kickstart Python Learning

  • Erstellen Sie ein neues Token und kopieren Sie es.

ython Projects to Kickstart Python Learning

  • Ersetzen Sie im Skript mit diesem Token.

Slack einrichten:

  • Erstellen Sie einen Slack-Kanal mit dem Namen #devops-updates.
  • Erstellen Sie einen Bot mit dem Namen „demo“ und laden Sie ihn zum Kanal ein.
  • Generieren Sie ein Bot-Token und ersetzen Sie es im Skript durch dieses Token.

Führen Sie das Skript aus:

  • Stellen Sie vor dem Ausführen sicher, dass Sie den Bot im Slack-Kanal hinzugefügt haben, indem Sie „invite@demo“ in den #devops-updates verwenden.
  • Führen Sie das Skript mit Python jenkins-slack-integration.py aus.
  • Sobald die Pipeline abgeschlossen ist, postet der Bot eine Nachricht im Slack-Kanal mit dem Pipeline-Status.

Beispielausgabe in Slack:

ython Projects to Kickstart Python Learning

Pipeline erfolgreich erstellt mit Status: **ERFOLGREICH**

Dieses Projekt ist ein fantastisches Beispiel dafür, wie Python die Lücke zwischen CI/CD-Tools und Kommunikationsplattformen schließen, Benachrichtigungen automatisieren und die Zusammenarbeit verbessern kann.


? Abschluss

Herzlichen Glückwunsch zum Abschluss dieser drei spannenden Python-Projekte! Jedes Projekt wurde entwickelt, um Ihnen beizubringen, wie Python in realen Szenarien verwendet werden kann:

  • Wetterprogramm: Zeigte Ihnen, wie Sie APIs verwenden und JSON-Daten verarbeiten, um aussagekräftige Informationen abzurufen und anzuzeigen.
  • GitHub PR Tracker: Hat Ihnen beigebracht, wie Sie mit der GitHub-API interagieren und mit Live-Daten in einem strukturierten Format arbeiten.
  • SlackBot für Jenkins Pipeline: Demonstrierte die Leistungsfähigkeit von Python, DevOps-Aufgaben zu automatisieren und die Teamkommunikation durch nahtlose Integrationen zu verbessern.

Diese Projekte sind nur die Spitze des Eisbergs. Wenn Sie sich weiter damit befassen, werden Sie feststellen, dass die Vielseitigkeit von Python es zu einer unverzichtbaren Fähigkeit für jeden DevOps-Ingenieur macht. Über die Codierung hinaus ermöglicht es die Automatisierung, steigert die Produktivität und schließt die Lücke zwischen komplexen Arbeitsabläufen und benutzerfreundlichen Lösungen.

Bauen, experimentieren und lernen Sie weiter – das ist die Essenz von Python und DevOps! Denken Sie daran: Der beste Weg, das Programmieren zu meistern, ist, es selbst zu tun.

Vielen Dank, dass Sie mich auf dieser Reise begleiten! Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn gerne mit Ihren Freunden und Mitlernenden.

? Für einen informativeren Blog folgen Sie mir auf Hashnode, X(Twitter) und LinkedIn.

Bis dahin viel Spaß beim Programmieren!!

Viel Spaß beim Lernen! ?

Das obige ist der detaillierte Inhalt vonPython-Projekte zur Förderung des Python-Lernens. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage