Python-Projekte zur Förderung des Python-Lernens
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()
-
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
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()
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
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}")
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.
Generieren Sie ein Jenkins-API-Token:
- Gehen Sie zu Ihren Jenkins-Benutzereinstellungen.
- Erstellen Sie ein neues Token und kopieren Sie es.
- 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:
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Python eignet sich für Datenwissenschafts-, Webentwicklungs- und Automatisierungsaufgaben, während C für Systemprogrammierung, Spieleentwicklung und eingebettete Systeme geeignet ist. Python ist bekannt für seine Einfachheit und sein starkes Ökosystem, während C für seine hohen Leistung und die zugrunde liegenden Kontrollfunktionen bekannt ist.

Sie können die Grundlagen von Python innerhalb von zwei Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master -Steuerungsstrukturen wie wenn Aussagen und Schleifen, 3. Verstehen Sie die Definition und Verwendung von Funktionen. Diese werden Ihnen helfen, einfache Python -Programme zu schreiben.

Python zeichnet sich in Gaming und GUI -Entwicklung aus. 1) Spielentwicklung verwendet Pygame, die Zeichnungen, Audio- und andere Funktionen bereitstellt, die für die Erstellung von 2D -Spielen geeignet sind. 2) Die GUI -Entwicklung kann Tkinter oder Pyqt auswählen. Tkinter ist einfach und einfach zu bedienen. PYQT hat reichhaltige Funktionen und ist für die berufliche Entwicklung geeignet.

Sie können grundlegende Programmierkonzepte und Fähigkeiten von Python innerhalb von 2 Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master Control Flow (bedingte Anweisungen und Schleifen), 3.. Verstehen Sie die Definition und Verwendung von Funktionen, 4. Beginnen Sie schnell mit der Python -Programmierung durch einfache Beispiele und Code -Snippets.

Python wird in den Bereichen Webentwicklung, Datenwissenschaft, maschinelles Lernen, Automatisierung und Skripten häufig verwendet. 1) In der Webentwicklung vereinfachen Django und Flask Frameworks den Entwicklungsprozess. 2) In den Bereichen Datenwissenschaft und maschinelles Lernen bieten Numpy-, Pandas-, Scikit-Learn- und TensorFlow-Bibliotheken eine starke Unterstützung. 3) In Bezug auf Automatisierung und Skript ist Python für Aufgaben wie automatisiertes Test und Systemmanagement geeignet.

Python ist leichter zu lernen und zu verwenden, während C leistungsfähiger, aber komplexer ist. 1. Python -Syntax ist prägnant und für Anfänger geeignet. Durch die dynamische Tippen und die automatische Speicherverwaltung können Sie die Verwendung einfach zu verwenden, kann jedoch zur Laufzeitfehler führen. 2.C bietet Steuerung und erweiterte Funktionen auf niedrigem Niveau, geeignet für Hochleistungsanwendungen, hat jedoch einen hohen Lernschwellenwert und erfordert manuellem Speicher und Typensicherheitsmanagement.

Um die Effizienz des Lernens von Python in einer begrenzten Zeit zu maximieren, können Sie Pythons DateTime-, Zeit- und Zeitplanmodule verwenden. 1. Das DateTime -Modul wird verwendet, um die Lernzeit aufzuzeichnen und zu planen. 2. Das Zeitmodul hilft, die Studie zu setzen und Zeit zu ruhen. 3. Das Zeitplanmodul arrangiert automatisch wöchentliche Lernaufgaben.

Python zeichnet sich in Automatisierung, Skript und Aufgabenverwaltung aus. 1) Automatisierung: Die Sicherungssicherung wird durch Standardbibliotheken wie OS und Shutil realisiert. 2) Skriptschreiben: Verwenden Sie die PSUTIL -Bibliothek, um die Systemressourcen zu überwachen. 3) Aufgabenverwaltung: Verwenden Sie die Zeitplanbibliothek, um Aufgaben zu planen. Die Benutzerfreundlichkeit von Python und die Unterstützung der reichhaltigen Bibliothek machen es zum bevorzugten Werkzeug in diesen Bereichen.
