Tutorials  /  Python

Python struct pack extrahieren

Ccentron Redaktion · Februar 2024 ·3 Min. Lesezeit ·Python, Tutorial

Das Python struct Modul ist in der Lage, Konvertierungen zwischen Python-Werten und C-Strukturen, die als Python Strings dargestellt werden, durchzuführen.

Python Struct

  • Das Python struct Modul kann zum Umgang mit binären Daten verwendet werden, die in Dateien, Datenbanken oder aus Netzwerkverbindungen stammen.
  • Es verwendet Format-Strings als kompakte Beschreibungen des Layouts der C-Strukturen und der beabsichtigten Konvertierung zu/von Python-Werten.
VM

Passende Infrastruktur bei centron

Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →

Funktionen

Es gibt fünf wichtige Funktionen im struct Modul - pack(), unpack(), calcsize(), pack_into() und unpack_from(). Bei all diesen Funktionen müssen wir das Format der Daten angeben, die in Binärdaten konvertiert werden sollen. Einige der beliebten Formatzeichen sind:

  • ?: boolean
  • h: short
  • l: long
  • i: int
  • f: float
  • q: long long int

Sie können die vollständige Liste der Formatzeichen hier erhalten. Lassen Sie uns die Funktionen des struct Moduls nacheinander betrachten.

Python struct.pack()

Diese Funktion packt eine Liste von Werten in eine String-Repräsentation des angegebenen Typs. Die Argumente müssen genau zu den Werten passen, die das Format erfordert. Lassen Sie uns schnell ein Beispiel für struct pack() ansehen:

Python
import struct

var = struct.pack('hhl', 5, 10, 15)
print(var)
 
var = struct.pack('iii', 10, 20, 30)
print(var)

Python struct.unpack()

Diese Funktion entpackt den gepackten Wert in seine ursprüngliche Darstellung mit dem angegebenen Format. Diese Funktion gibt immer ein Tupel zurück, auch wenn es nur ein Element gibt. Lassen Sie uns schnell ein Beispiel für die struct unpack() Funktion ansehen:

Python
import struct
var = struct.pack('hhl', 5, 10, 15)
print(var)
print(struct.unpack('hhl', var))

Python struct calcsize()

Diese Funktion berechnet und gibt die Größe der String-Repräsentation von struct mit einem gegebenen Format zurück. Die Größe wird in Bytes berechnet. Lassen Sie uns schnell ein Beispielcode-Snippet ansehen:

Python
import struct
 
var = struct.pack('hhl', 5, 10, 15)
print(var)
print("Size of String representation is {}.".format(struct.calcsize('hhl')))

Python struct pack_into(), unpack_from()

Diese Funktionen ermöglichen es uns, Werte in einen String-Puffer zu packen und aus einem String-Puffer zu entpacken. Diese Funktionen wurden in Version 2.5 eingeführt.

Python
import struct
# ctypes is imported to create a string buffer
import ctypes

# As shown in previous example
size = struct.calcsize('hhl')
print(size)

# Buffer 'buff' is created from ctypes
buff = ctypes.create_string_buffer(siz)

# struct.pack_into() packs data into buff and it doesn't return any value
# struct.unpack_from() unpacks data from buff, returns a tuple of values
print(struct.pack_into('hhl', buff, 0, 5, 10, 15))
print(struct.unpack_from('hhl', buff, 0))

Schlussfolgerung

Das ist alles für eine kurze Einführung in das Python struct Modul. Python struct pack extrahieren

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Python
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren