Python --- Ouverture, lecture, écriture de fichiers

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()

Je suppose que tu aimes

Origine blog.csdn.net/weixin_52053631/article/details/132924640
conseillé
Classement