Maison >développement back-end >Tutoriel Python >Comment utiliser Python pour écrire du contenu dans un fichier

Comment utiliser Python pour écrire du contenu dans un fichier

王林
王林avant
2023-06-02 22:26:472388parcourir

1. Méthode Write()

Utilisez la méthode write() : utilisez la fonction open() pour ouvrir le fichier, puis utilisez la méthode write() pour écrire le contenu dans le fichier. Par exemple : La fonction

with open('example.txt', 'w') as f:
    f.write('Hello, world!')

open() est la fonction intégrée de Python pour ouvrir des fichiers. Ses paramètres couramment utilisés et leurs significations sont les suivants :

1.file : nom du fichier ou chemin du fichier. Peut être un chemin absolu ou un chemin relatif. Si le chemin est relatif, il est relatif au répertoire de travail actuel. Si le chemin est omis, le fichier est ouvert dans le répertoire de travail actuel.

2.mode : Mode d'ouverture de fichier. Peut être l'une des valeurs suivantes :

  • 'r' : mode lecture seule. Mode par défaut, si le fichier n'existe pas, une exception sera levée.

  • 'w' : mode écriture. Si le fichier n'existe pas, créez le fichier. Si le fichier existe déjà, il est effacé et un nouveau contenu est écrit.

  • 'x' : Mode de création exclusif. Si le fichier n'existe pas, créez le fichier. Si le fichier existe déjà, une exception est levée.

  • 'a' : mode ajout. Si le fichier n'existe pas, créez le fichier. Si le fichier existe déjà, ajoutez du nouveau contenu à la fin du fichier.

  • 'b' : Mode binaire. À utiliser avec d'autres modes tels que « rb » ou « wb ».

  • 't' : mode texte. Peut être utilisé avec d'autres modes tels que « rt » ou « wt ».

3.buffering : Définissez la taille du tampon. En cas d'omission ou de 0, aucune mise en mémoire tampon n'a lieu. Si 1, les lignes sont mises en mémoire tampon. Si supérieur à 1, la taille du tampon.

4.encoding : Format d'encodage utilisé pour encoder et décoder le contenu du fichier. En cas d'omission, l'encodage par défaut est utilisé.

5.errors : Comment gérer les erreurs lors de l'encodage et du décodage du contenu du fichier. Peut être l'une des valeurs suivantes :

  • 'strict' : valeur par défaut, ce qui signifie qu'une exception est levée lorsqu'une erreur est rencontrée.

  • 'ignore' : ignore les erreurs.

  • 'replace' : Remplacez les caractères incorrects par '?'.

  • 'backslashreplace' : remplacez les caractères incorrects par des échappements de barre oblique inverse.

  • 'xmlcharrefreplace' : Remplacez les caractères incorrects par des entités XML.

  • 'namereplace' : remplacez les caractères incorrects par N{...} échappements.

6.newline : Contrôle le traitement des sauts de ligne en mode texte. Peut être l'une des valeurs suivantes :

  • Aucun : utilise le caractère de nouvelle ligne par défaut n.

  • '' : Aucune conversion de nouvelle ligne n'est effectuée.

  • 'n', 'r', 'rn', 'u2028', 'u2029' : utilisez le caractère de nouvelle ligne spécifié.

S'il est défini sur True, le descripteur de fichier sous-jacent d'un fichier sera fermé lors de son ouverture. La valeur par défaut est True.

8.opener : fonction ou classe personnalisée pour ouvrir des fichiers. La valeur par défaut est Aucun.

Ces paramètres peuvent être utilisés dans différentes combinaisons pour répondre à différentes exigences de fonctionnement des fichiers. Par exemple, open('example.txt', 'w') ouvre un fichier nommé example.txt en mode écriture ou crée un nouveau fichier vide si le fichier n'existe pas.

2. Méthode writelines() La méthode writelines() écrit une liste de chaînes dans un fichier. Par exemple : la méthode

with open('example.txt', 'w') as f:
    lines = ['Hello, world!', 'Welcome to Python']
    f.writelines(lines)

writelines() est la méthode utilisée pour écrire une liste de chaînes dans un fichier. Mais veuillez noter les points suivants : La méthode

    writelines() n'accepte qu'une liste de chaînes comme paramètres. Si vous souhaitez écrire une seule chaîne, utilisez la méthode write(). La méthode
  • writelines() n'ajoute pas automatiquement de nouvelles lignes entre les chaînes, elles doivent être ajoutées manuellement à la chaîne. La méthode
  • writelines() n'ajoutera pas de ligne vide à la fin de la liste. Si vous devez ajouter une ligne vide à la dernière ligne, veuillez ajouter manuellement une chaîne vide contenant un caractère de nouvelle ligne.
  • Lorsque vous utilisez la méthode writelines(), vous devez vous assurer que le paramètre passé est une liste contenant des chaînes. Si le paramètre est un objet générateur, il doit être converti en liste avant de le transmettre.
  • lines = ['line 1\n', 'line 2\n', 'line 3\n']
     
    with open('example.txt', 'w') as f:
        f.writelines(lines)
  • L'utilisation avancée des méthodes implique principalement d'écrire les données d'un objet itérateur dans un fichier sans avoir besoin de les convertir en une liste d'un seul coup. Cette approche est utile pour les grands ensembles de données car elle parcourt les éléments un par un, évitant ainsi de stocker tous les éléments en mémoire.
def generate_lines():
    yield 'line 1\n'
    yield 'line 2\n'
    yield 'line 3\n'
 
with open('example.txt', 'w') as f:
    f.writelines(generate_lines())

Dans le code ci-dessus, la fonction generate_lines() renvoie un objet itérateur qui génère des chaînes une par une. Ensuite, transmettez cet objet itérateur à la méthode writelines(), qui écrit les chaînes de l'objet itérateur dans le fichier une par une.

3. Fonction Print()

Vous pouvez utiliser la fonction print() pour écrire du contenu dans un fichier. Vous devez spécifier le paramètre de fichier en tant qu'objet de fichier ouvert. Par exemple :

with open('example.txt', 'w') as f:
    print('Hello, world!', file=f)

Voici les paramètres communs de la fonction print() et leur introduction détaillée :

La fonction print() est une fonction intégrée en Python pour imprimer les informations de sortie sur le terminal. La fonction print() peut accepter plusieurs paramètres et les imprimer sur le terminal.

Voici les paramètres communs de la fonction print() et leur introduction détaillée :

  • *objects:一个或多个要打印输出的对象,可以是字符串、数字、变量等。可以接受任意数量的参数。

  • sep:用于分隔多个参数的字符,默认是一个空格。在打印输出多个参数时,sep 参数将作为它们之间的分隔符。

  • end:用于表示打印输出结束的字符,默认是一个换行符。在输出最后一个参数后,end 参数会被添加在它们后面的字符位置。

  • file参数可用于指定输出至一个文件对象,如果未指定则默认输出到标准输出设备sys.stdout。可以将输出重定向到文件中,以便将输出保存到文件中而不是终端。

  • flush:用于指定是否立即刷新缓冲区,默认为 False。如果设置 flush 参数为 True,那么输出会立即写入文件,而不需要等待缓冲区填满。

# 打印输出单个字符串
print("Hello World")
 
# 打印输出多个参数
print("Name:", "John", "Age:", 25)
 
# 使用自定义分隔符
print("Name:", "John", "Age:", 25, sep="-")
 
# 使用自定义结束符
print("Name:", "John", "Age:", 25, end=".")
 
# 将输出重定向到文件
with open('output.txt', 'w') as f:
    print("Hello World", file=f)
 
# 立即刷新缓冲区
print("Hello World", flush=True)

print(string, *args, **kwargs)

  • 一个包含需要输出的信息和格式化占位符的格式化字符串。占位符应该用花括号 {} 包含,同时指明相应数据的类型、宽度、精度等信息来进行填充格式化。

  • *args:可选参数,包含要填充到格式化字符串中的数据。

  • **kwargs:可选参数,包含键值对,用于指定格式化字符串中的占位符的值。

name = "John"
age = 25
 
# 使用占位符输出字符串
print("Name: {}, Age: {}".format(name, age))
 
# 使用关键字参数输出字符串
print("Name: {n}, Age: {a}".format(n=name, a=age))
 
# 使用 f-string 输出字符串
print(f"Name: {name}, Age: {age}")

四、使用 csv 模块

可以使用 csv 模块将数据写入 CSV 文件。例如:

import csv
 
with open('example.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerow(['Name', 'Age', 'Gender'])
    writer.writerow(['Alice', 25, 'F'])
    writer.writerow(['Bob', 30, 'M'])

五、使用 json 模块

可以使用 json 模块将 Python 对象写入 JSON 文件。例如:

import json
 
data = {
    'name': 'Alice',
    'age': 25,
    'gender': 'F'
}
 
with open('example.json', 'w') as f:
    json.dump(data, f)

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer