Table des matières
? Exemple: lire un fichier image (comme PNG ou JPG)
? Exemple: lire les fichiers volumineux en morceaux (enregistrer la mémoire)
? Exemple: analyser les structures binaires simples (comme l'utilisation du module struct )
? Conseils
Maison développement back-end Tutoriel Python Exemple de fichier binaire de lecture de Python

Exemple de fichier binaire de lecture de Python

Jul 26, 2025 am 07:07 AM
php java programmation

Le cœur de la lecture d'un fichier binaire est d'ouvrir le fichier à l'aide du mode «RB» et de lire comme un objet Bytes. 1. Utilisez avec Open ('file.bin', 'rb') pour lire l'intégralité du fichier dans l'objet Bytes; 2. Pour les fichiers volumineux, la lecture en morceaux est adoptée et des blocs d'octets de taille fixe sont lus à chaque fois pour enregistrer la mémoire; 3. Si vous avez besoin d'analyser les données structurées, vous pouvez déballer le flux d'octets dans le format spécifié avec le module Struct, comme l'utilisation de struct.unpack ('

Exemple de fichier binaire de lecture de Python

La lecture de fichiers binaires est courante dans Python, telles que le traitement des images, l'audio, la vidéo, les fichiers compressés ou les formats de données binaires personnalisés. Voici un exemple simple et pratique montrant comment lire les fichiers binaires dans Python.

Exemple de fichier binaire de lecture de Python

✅ Syntaxe de base: utilisez des modes open() et 'rb'

 avec open ('example.bin', 'rb') en tant que fichier:
    data = file.read ()
  • 'rb' signifie ouvrir un fichier en mode de lecture binaire .
  • data sont un objet d' bytes de type qui contient les octets d'origine du fichier.

? Exemple: lire un fichier image (comme PNG ou JPG)

 # Lire le contenu binaire d'une image FileName = 'Photo.jpg'

avec ouvert (nom de fichier, «RB») comme f:
    contenu = f.read ()

# Imprimez les 20 premiers octets (généralement en-tête de fichier / numéro magique)
Imprimer (contenu [: 20])

La sortie peut être similaire:

 b '\ xff \ xd8 \ xff \ xe0 \ x00 \ x10jfif \ x00 \ x01 \ x01 \ x01 \ x01 \ x00h \ x00h \ x00 \ x01'

Cela peut être utilisé pour déterminer le type de fichier (par exemple, les premiers octets de JPEG sont \xff\xd8\xff ).

Exemple de fichier binaire de lecture de Python

? Exemple: lire les fichiers volumineux en morceaux (enregistrer la mémoire)

Si le fichier est grand, ne read() à la fois. Il est recommandé de lire en morceaux:

 chunk_size = 1024 # 1KB est lu à chaque fois

avec Open ('Large_file.bin', 'RB') comme f:
    Bien que vrai:
        chunk = f.read (chunk_size)
        Si ce n'est pas un morceau:
            Break # Lecture de fichiers terminée # Process Chunk (type d'octets)
        print (f "read {len (chunk)} octets: {Chunk [: 16]} ...") # imprimez les 16 premiers octets

? Exemple: analyser les structures binaires simples (comme l'utilisation du module struct )

Supposons que votre fichier binaire stocke un entier et un numéro de point flottant:

Exemple de fichier binaire de lecture de Python
 Importer une structure

avec open ('data.bin', 'rb') comme f:
    # Supposons que les 4 premiers octets sont INT, puis les 4 octets sont flottants (Little Endian Format)
    tampon = f.read (8)
    Si Len (tampon) == 8:
        Integer_value, float_value = struct.unpack (&#39;<if&#39;, tampon)
        print (f "entier: {Integer_value}")
        print (f "float_value}")

&#39;<if&#39; signifie peu endian endian endian, i = int (4 octets), f = float (4 octets)


? Conseils

  • Les fichiers binaires ne peuvent pas être imprimés directement comme du texte, généralement visualisés en hexadécimal:
     imprimer (contenu [: 10] .hex ()) # La sortie est la suivante: ffd8ffe000104a46
  • Utilisez bytes ou bytearray pour le traitement.
  • Faites attention à savoir si le dossier existe et si les autorisations sont suffisantes.

  • Fondamentalement, c'est tout. Selon le type de fichier (format personnalisé, images, données de protocole, etc.) que vous souhaitez traiter, la structure peut être encore analysée après la lecture. Mais l'étape de base est toujours: ouverte avec 'rb' , lire sous forme bytes , puis analyser .

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1522
276
Comment utiliser l'API HTTPClient en Java Comment utiliser l'API HTTPClient en Java Aug 12, 2025 pm 02:27 PM

Le cœur de l'utilisation du javahttpclientapi est de créer un httpclient, de créer un httprequest et de traiter httpResponse. 1. Utilisez httpclient.newhttpclient () ou httpclient.newbuilder () pour configurer les délais d'expiration, proxy, etc. pour créer des clients; 2. Utilisez httpRequest.newBuilder () pour définir URI, méthode, en-tête et corps pour construire des demandes; 3. Envoyez des demandes synchrones via client.send () ou envoyez des demandes asynchrones via client.sendaSync (); 4. Utilisez des handleurs.

Excel trouver et remplacer ne fonctionne pas Excel trouver et remplacer ne fonctionne pas Aug 13, 2025 pm 04:49 PM

CheckkSearchSettings like "MatchEnteRireCellContents" et "MatchCase" ByExpandingOptionsInFindanDreplace, garantissant "lookin" issettominuesand »dans" TOCORRECTSCOPE; 2.LOORHFORHIDDENCHARACTER

The Best Ides for Java Development: une revue comparative The Best Ides for Java Development: une revue comparative Aug 12, 2025 pm 02:55 PM

Thebestjavaidein2024Denpendyourndeds: 1.chooseintellijideaforprofessional, l'entreprise, le development orfulldevelopmentduetoitsSuperiorCodeIntelligence, le framewory

Edge ne sauvant pas l'histoire Edge ne sauvant pas l'histoire Aug 12, 2025 pm 05:20 PM

Tout d'abord, Checkif "ClearbrowsingDataOnClose" IsTurneDOninsettingsandTurnitofftoenSureHistoryissaved.2.Confirmyou'renotusingInprivateMode, asitdoesNotsAvehistoryByDesigr.3.Disable ExtensionStendatoryToUleoutHeleft

Décrivez le modèle de conception de l'observateur et sa mise en œuvre dans PHP. Décrivez le modèle de conception de l'observateur et sa mise en œuvre dans PHP. Aug 15, 2025 pm 01:54 PM

TheObserverdesignpatternenablesautomaticnotificationofdependentobjectswhenasubject'sstatechanges.1)Itdefinesaone-to-manydependencybetweenobjects;2)Thesubjectmaintainsalistofobserversandnotifiesthemviaacommoninterface;3)Observersimplementanupdatemetho

Comment implémenteriez-vous le versioning d'API dans une application PHP? Comment implémenteriez-vous le versioning d'API dans une application PHP? Aug 14, 2025 pm 11:14 PM

APIVERSIONINGInPHPCANBEEFECECTECTIVEMENT Implexedusingurl, en-tête, OrseryParameterApproaches, WithurlandHeaderVersioningBeingMostreComMend.1.ForUrl-basé à la Version, comprend la conduite de l'Inversaire (par exemple, / v1 / utilisateurs) et OrganizeControllersInversedDirectorDectores, RoS, ROTO

Comment déployer une application Java Comment déployer une application Java Aug 17, 2025 am 12:56 AM

Préparez-vous en application par rapport à Mavenorgradletobuildajarorwarfile, externalisationConfiguration.2.ChoOSEADPLOYENDIRONMENT: Runonbaremetal / vmwithjava-jarandsystemd, deploywarontomcat, compeneriserisewithdocker, orusecloudplatformslikelise.

Comment configurer la journalisation dans une application Java? Comment configurer la journalisation dans une application Java? Aug 15, 2025 am 11:50 AM

L'utilisation de SLF4J combinée avec la journalisation ou le log4j2 est le moyen recommandé de configurer les journaux dans les applications Java. Il introduit des bibliothèques API et implémentation en ajoutant des dépendances Maven correspondantes; 2. Obtenez l'enregistreur via le loggerfactory de SLF4J dans le code et écrivez le code journal découplé et efficace à l'aide de méthodes de journalisation paramétrée; 3. Définir le format de sortie du journal, le niveau, la cible (console, le fichier) et le contrôle du journal du package via Logback.xml ou les fichiers de configuration log4j2.xml; 4. Activer éventuellement la fonction de balayage de fichiers de configuration pour atteindre un ajustement dynamique du niveau de journal, et Springboot peut également être géré via des points de terminaison de l'actionneur; 5. Suivez les meilleures pratiques, y compris

See all articles