MicroPython: Text ausgeben (print)

In MicroPython steht zur Ausgabe von Text, Zahlen und Zeichen auf der Kommandozeile bzw. Shell der Befehl „print“ zur Verfügung. Dabei ist „print“ eine ziemlich coole Sau. Damit kann man nicht einfach nur Text ausgeben, sondern hat auch Einfluss auf Zeilenwechsel und Zahlenformate, und kann sogar in Dateien schreiben.

REPL

Zum Ausprobieren der folgenden Programmcodes kannst du diese einfach zeilenweise in die Kommandozeile bzw. Shell eingeben.

Ausgabe von Text mit print

In MicroPython können Daten mit dem print-Befehl auf der Kommandozeile bzw. Shell ausgegeben werden.

print('Hallo Welt')

Wenn der Inhalt von Variablen ausgegeben werden soll, dann kann man dies direkt im print-Befehl tun.

a = 'Hallo Welt'
print(a)

Wenn mehrere Werte oder Variablen hintereinander ausgegeben werden sollen, dann kann man das durch Trennung mit einem Komma tun. Die Werte werden dann mit einem Leerzeichen hintereinander ausgegeben.

a = '1'
b = '2'
c = '3'
print('Hallo Welt', a, b, c)

print ohne Leerzeichen

Standardmäßig trennt „print“ die kommagetrennten Werte mit einem Leerzeichen. Wenn man ein anderes Zeichen, Zeichenkette oder gar kein Zeichen zur Trennung verwenden will, dann kann man das Zeichen mit dem Parameter „sep=„ definieren.

a = '1'
b = '2'
c = '3'
print('Hallo Welt', a, b, c, sep='')

In diesem Fall werden alle Zeichenketten und Zeichen direkt hintereinander gesetzt.

print ohne Zeilenumbruch

Standardmäßig gibt „print“ am Ende einen Zeilenumbruch aus. Das hat den Vorteil, dass ein nachfolgendes „print“ in einer neuen Zeile beginnt. Manchmal will man das aber nicht. Beispielsweise weil man etwas zeichenweise verarbeiten und ausgeben will.

Das Kommando „print“ kennt auch einen end-Parameter, der das letzte Zeichen definiert. Damit kann man den standardmäßigen Zeilenumbruch überschreiben.

Im folgenden Programmcode wird „print“ mit dem Parameter „end=“ verwendet, der ein benutzerdefiniertes Endzeichen statt des standardmäßigen Zeilenumbruchs enthält.

# print mit Zeilenumbruch (Standard)
for i in range (10):
    print(i)
		
# print mit Leerzeichen
for i in range (10):
    print(i, end=' ')

print ohne Zeilenwechsel

Die Frage ist, wie realisiert man eine Textausgabe, die eine vorherige Textausgabe ohne Zeilenwechsel überschreibt? Das erreicht man mit einem Steuerzeichen im Parameter „end=„, dass den Cursor an den Zeilenanfang setzt ohne die Zeile zu wechseln.

# print ohne Zeilenwechsel
import time
for i in range (10):
    print(i, end="\r")
    time.sleep(1)

Hinweis: In der praktischen Anwendung werden nicht alle Zeichenhaften überschrieben, hier muss man mit Leerzeichen nachhelfen.

print in eine Datei

Man kann print auch dazu verwenden, um Text in eine Datei schreiben. Die folgenden Zeilen öffnen eine Datei, schreiben den Text in die Datei. Die Datei wird automatisch geschlossen.

filename = 'log.txt'
with open(filename, 'w') as f:
    print('Hallo Welt', file=f)

Text-Ausgabe formatieren

Manchmal reicht es nicht, Zeichen und Zeichenfolgen hintereinander zu schreiben. Es bedarf eines bestimmten Formats. Oder man möchte mit Platzhaltern arbeiten. Dafür gibt es verschiedene Formatierungen und Funktionen zum Konvertieren.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren