Méthode write() de fichier Python3

Python3 File(文件) 方法Méthodes de fichier Python3


Aperçu

write()La méthode est utilisée pour écrire une chaîne spécifiée dans un fichier.

Avant que le fichier ne soit fermé ou que le tampon ne soit vidé, le contenu de la chaîne est stocké dans le tampon, donc vous ne pouvez pas voir le contenu écrit dans le fichier.

Si le mode d'ouverture du fichier inclut b, alors lors de l'écriture du contenu du fichier, str (paramètre) doit être converti en forme bytes à l'aide de la méthode encode, sinon une erreur est levée : TypeError: a bytes-like object is required, not 'str'.

Syntaxe

La syntaxe de la méthode write() est la suivante :

fileObject.write( [ str ])

Parameters

  • fileObject-- objet fichier, généralement obtenu en ouvrant le fichier avec la fonction open().

  • str-- la chaîne à écrire dans le fichier.

La méthode write() écrit la chaîne spécifiée dans le fichier. La position d'écriture dépend de la position actuelle du pointeur du fichier :

  • Si le fichier est ouvert en mode ajout ("a"ou"a+"), le contenu écrit sera ajouté à la fin du fichier.

  • Si le fichier est ouvert en mode lecture-écriture ("r+"ou"w+"), le contenu écrit écrasera le contenu original à partir de la position actuelle du pointeur de fichier.

Valeur de retour

Renvoie le nombre de caractères écrits.

Exemple

Le contenu du fichier example.txt est le suivant :

1:www.example.com
2:www.example.com
3:www.example.com
4:www.example.com
5:www.example.com

L'exemple suivant montre l'utilisation de la méthode write() :

Exemple

#!/usr/bin/python3

# Utiliser l'instruction with pour ouvrir le fichier, en garantissant qu'il est correctement fermé
with open("example.txt", "r+") as fo:
    print("Nom du fichier : ", fo.name)

    # Écrire une ligne à la fin du fichier
    fo.seek(0, 2)  # Déplacer le pointeur de fichier à la fin du fichier
    fo.write("6:www.example.com\n")  # Écrire du contenu et ajouter un saut de ligne

    # Lire tout le contenu du fichier
    fo.seek(0)  # Déplacer le pointeur de fichier au début du fichier
    for index, line in enumerate(fo):
        print("Ligne de fichier %d - %s" % (index, line.strip()))

La sortie de l'exemple ci-dessus est :

文件行号 0 - 1:www.example.com
文件行号 1 - 2:www.example.com
文件行号 2 - 3:www.example.com
文件行号 3 - 4:www.example.com
文件行号 4 - 5:www.example.com
文件行号 5 - 6:www.example.com

Voir le contenu du fichier :

$ cat example.txt 
1:www.example.com
2:www.example.com
3:www.example.com
4:www.example.com
5:www.example.com
6:www.example.com

Notes

  1. Modes de fichier:

    • Si le fichier est ouvert en mode lecture seule ("r"), l’appel dewrite()lèveraio.UnsupportedOperationune exception.

    • Si le fichier est ouvert en mode écriture ("w"ou"w+"), le contenu du fichier sera effacé, puis un nouveau contenu sera écrit.

    • Si le fichier est ouvert en mode ajout ("a"ou"a+"), le contenu écrit sera ajouté à la fin du fichier.

  2. Pointeur de fichier:

    • L’opération d’écriture commence à partir de la position actuelle du pointeur de fichier. Si vous devez écrire depuis le début ou à une position spécifique, vous pouvez utiliser laseek()méthode pour déplacer le pointeur de fichier.

  3. Caractère de nouvelle ligne:

    • write()La méthode n’ajoute pas automatiquement de nouvelle ligne. Si une nouvelle ligne est nécessaire, vous devez ajouter explicitement\n。

  4. Valeur de retour:

    • write()La méthode renvoie le nombre de caractères écrits. Si l’écriture échoue, une exception peut être levée.


Python3 File(文件) 方法Méthodes de fichier Python3

Autres extensions