Python, comment lire des octets à partir d'un fichier et le sauvegarder?
Je veux lire des octets d'un fichier, puis d'écrire ces octets à un autre fichier et l'enregistrer.
Comment puis-je faire cela?
source d'informationauteur user850019
Vous devez vous connecter pour publier un commentaire.
Voici comment faire avec le fichier de base des opérations en Python. Cela ouvre un fichier, lit les données en mémoire, puis s'ouvre le deuxième fichier et écrit.
Nous pouvons le faire de façon plus succincte en utilisant le
with
clavier pour gérer la fermeture du fichier.Si vous ne voulez pas stocker l'intégralité du fichier en mémoire, vous pouvez le transférer en morceaux.
Dans mes exemples j'utilise le 'b' ('wb', 'rb') lors de l'ouverture de fichiers, car vous l'avez dit vous voulez lire des octets. Le 'b' indique à Python de ne pas interpréter de fin de chaîne de caractères qui peuvent différer entre les systèmes d'exploitation. Si vous lisez le texte, puis omettre le " b "et utilisez" w " et "r", respectivement.
Ce lit tout le fichier dans un bloc à l'aide de la "plus simple" code Python. Le problème avec cette approche est que vous pouvez exécuter à la mémoire lors de la lecture d'un fichier volumineux:
Cet exemple est raffiné à lire 1MB morceaux pour s'assurer qu'il fonctionne pour les fichiers de toute taille, sans être à court de mémoire:
Cet exemple est le même que ci-dessus, mais tire parti de l'aide pour créer un contexte. L'avantage de cette approche est que le fichier est automatiquement fermé lorsque l'on sort du contexte:
Voir la suivante:
Permettra de lire 1 kilo-octet à la fois, et de l'écrire. Vous pouvez prendre en charge de très grandes dimensions des fichiers de cette façon, vous n'aurez pas besoin de lire tout le fichier en mémoire.
Utiliser le ouvert fonction pour ouvrir le fichier. La fonction open renvoie une fichier objetvous pouvez utiliser la lecture et l'écriture des fichiers: