Maison > développement back-end > Tutoriel Python > Caractéristiques et différences des trois modes lisibles et inscriptibles des fichiers Python

Caractéristiques et différences des trois modes lisibles et inscriptibles des fichiers Python

不言
Libérer: 2018-10-09 16:38:20
avant
4782 Les gens l'ont consulté

Cet article vous présente les caractéristiques et les différences des trois modes de lecture et d'écriture des fichiers Python. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Cet article traite principalement des caractéristiques des trois modes de lecture et d'écriture des fichiers et de leurs différences, et si l'opération de modification des fichiers peut être réalisée

En raison du article précédent Nous avons déjà discuté de l'encodage, nous n'étudierons donc pas l'encodage ici. Toutes les opérations ouvertes sont par défaut encodées en utf-8 (sous système Linux)

Nous examinons d'abord r+ (lecture et lecture). write)

Puisque r+ sait à la fois lire et écrire, est-il possible de modifier des fichiers en mode r+ ? La réponse est oui ! Cependant, une chose que vous devez noter est qu'à moins de connaître le contenu exact à modifier à l'emplacement exact, vous n'obtiendrez souvent pas les résultats escomptés. Un exemple est le suivant :
Nous avons un texte comme "Tuez une personne en dix étapes, ne laissez aucune trace sur des milliers de kilomètres"
Supposons qu'il y ait une telle demande, remplacez "Tuez une personne en dix étapes" par "Tuez un bandit en dix étapes", L'idée initiale est : utilisez read(4) pour lire le caractère chinois "一", puis écrivez le caractère chinois "一" :

with open('job', mode='r+') as f:
    print('先读取四个字符:',f.read(4))
    print('读取后的指针位置:',f.tell())
    f.write('个土匪')
    f.seek(0)
    print(f.read())
    输出为:
    先读取四个字符: 十步杀一
    读取后的指针位置: 12
    十步杀一人,千里不留行个土匪
Copier après la connexion

Comme vous pouvez voyez d'après les résultats, le pointeur s'est effectivement déplacé vers l'emplacement spécifié, mais lors de l'écriture, il ne s'est pas déroulé comme prévu, mais a couru jusqu'à la fin du fichier. Cette raison implique quelque chose appelé "CHUNK". Le professeur Andi ne l'a pas enseigné, donc je ne peux pas l'expliquer en profondeur, je vous en parlerai après l'avoir profondément compris.

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!

Étiquettes associées:
source:segmentfault.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal