ouvrir le fichier ouvrir()
Ouvrir un fichier existant ou créer un nouveau fichier
Syntaxe : open(nom, mode, encodage)
name : est une chaîne du nom du fichier cible à ouvrir (peut inclure le chemin spécifique où se trouve le fichier).
mode : Définissez le mode d'ouverture du fichier (mode d'accès) : r : lecture seule, w : écriture, a : ajout, etc.
encodage : format d'encodage (UTF-8 est recommandé)
exemple:
f = open('test.txt', 'r', encoding="UTF-8") # 注意:编码格式需要用关键字作为参数传递
print(type(f)) # <class '_io.TextIOWrapper'>
lire le fichier
Méthode read() : lit la longueur des données
Syntaxe : file object.read(num) ----- Résultat : chaîne
num représente la longueur des données à lire dans le fichier (l'unité est en octets). Si num n'est pas transmis, cela signifie lire toutes les données du fichier.
exemple:
f = open('test.txt', 'r', encoding="UTF-8")
print(f"读取10个字节的结果{f.read(5)}") # 读取内容:我是测试文
print(f"read方法读取全部内容是{f.read()}") # 注意:这次会接着上一次接着读取
Méthode readlines() : Lire tout ------ Résultat : liste
Syntaxe : fichier object.readlines()
readlines peut lire le contenu du fichier entier ligne par ligne à la fois et renvoie une liste dans laquelle les données de chaque ligne sont un élément.
exemple:
f = open('test.txt', 'r', encoding="UTF-8")
print(f"read方法读取全部内容是{f.read()}") # 读取全部
lines= f.readlines()
print(type(lines)) # <class 'list'>
print(lines) # 空值,原因:第2行已经读取了全部
Méthode readline() : lire une ligne à la fois ----- résultat : chaîne
Syntaxe : fichier object.readlines()
exemple:
f = open('test.txt', 'r', encoding="UTF-8")
line1 = f.readline()
print(type(line1),line1) # <class 'str'> 我是测试文件1 (读取一行内容)
la boucle for lit les lignes du fichier
exemple:
# f = open('test.txt', 'r', encoding="UTF-8")
# for line2 in f:
# print(line2) # 读取每一行数据
for line3 in open("test.txt","r",encoding="UTF-8"):
print(line3) # 读取每一行数据
Fermez le fichier close() --- Libérez le fichier
Syntaxe : fichier objet.close()
avec une syntaxe ouverte
Syntaxe : avec open(name,mode,encoding) comme nom de fichier :
En exécutant le fichier dans le bloc d'instructions with open, le fichier de fermeture peut être automatiquement fermé une fois l'opération terminée pour éviter d'oublier la méthode de fermeture.
exemple:
with open('test.txt', 'r', encoding="UTF-8") as f:
for line4 in f:
print(line4)
Écriture de fichier write()
Si le fichier existe, il sera écrasé. Si le fichier n'existe pas, il sera créé.
Syntaxe : file object.write() --- ouvre le fichier via le mode w
Avis:
Lorsque write est appelé directement, le contenu n'est pas réellement écrit dans le fichier, mais est accumulé dans la mémoire du programme, appelée tampon.
Lorsque flush est appelé, le contenu est réellement écrit dans le fichier.
Ceci afin d'éviter des opérations fréquentes sur le fichier. disque dur, ce qui conduit à une inefficacité. Refuser (enregistrer un tas et écrire sur le disque en même temps)
Actualisation du fichier (vidage)
Syntaxe : fichier object.flush()
exemple:
# f = open("test.txt", "w", encoding="UTF-8")
# f.write("hello") # 文件写入:内容写入内存中
# f.flush() # 文件刷新:将内存中积攒的内容,写入到硬盘的文件中
# f.close() # 关闭文件:内置了flush()功能
f = open("test.txt", "w", encoding="UTF-8")
f.write("你好") # 会覆盖吧上面写入的内容
Opération d'ajout de fichier write()
Syntaxe : file object.write() --- ouvre le fichier via un mode
open("test.txt","a",encoding="UTF-8")
f.write("\nhi1") # 换行输入
f.flush()
f.close()
Petite affaire:
# 小案例
fr = open("test.txt", "r", encoding="UTF-8")
fw = open("test1.txt", "a", encoding="UTF-8")
for i in fr:
# print(i)
if i.count("测试") >= 1:
continue
else:
fw.write(i)
print(fw)
fr.close()
fw.close()
# fr = open("test.txt", "r", encoding="UTF-8")
# fw = open("test1.txt", "a", encoding="UTF-8")
# for i in fr:
# line = i.strip() # 去除换行符
# if line.split(",")[4] == "测试": # 以 , 分割字符串
# continue
# else:
# fw.write(line)
# fw.write("\n") # 添加换行符
# fr.close()
# fw.close()