Je voudrais enregistrer des octets dans un fichier, puis lire ce fichier sous forme de texte. Puis-je le faire avec un with
? Que dois-je utiliser, wb
, r
ou wbr
?
myBytesVar = b'line1\nline2'
with open('myFile.txt', 'wb') as fw:
fw.write(myBytesVar)
with open('myFile.txt', 'r') as fr:
myVar = fr.read()
print(myVar)
3 réponses
Vous n'avez pas besoin de relire le fichier si vous avez déjà son contenu stocké dans myBytesVar
:
myBytesVar = b'line1\nline2'
with open('myFile.txt', 'wb') as fw:
fw.write(myBytesVar)
myVar = myBytesVar.decode('utf-8')
Le codage Python suppose que lors de la lecture de fichiers en tant que texte sans codage explicite est dépendant de la plateforme, donc je suppose simplement que l'UTF-8 fonctionnera.
Voici quelques informations sur le mode à utiliser:
Le mode par défaut est 'r' (ouvert pour la lecture de texte, synonyme de 'rt'). Pour l'accès en lecture-écriture binaire, le mode «w + b» s'ouvre et tronque le fichier à 0 octet. 'r + b' ouvre le fichier sans troncature.
Lisez plus ici. https://docs.python.org/3/library/functions.html# ouvrir
Si vous voulez le faire avec un "avec": Quand vous l'écrivez, "wb" est bon. lorsque vous lisez le fichier essayez-le
myvar = open('MyVar.txt', 'r').read()
print(myvar)
Questions connexes
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.