Le contenu de cet article concerne le code d'implémentation des opérations de lecture, d'écriture et de sauvegarde de fichiers Python. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Enregistrez le processus d'utilisation de Python pour lire et écrire des fichiers pour la première fois. Bien que ce soit très simple, il y a en fait certaines choses à prendre en compte lors de sa première implémentation.
Supposons d'abord une exigence comme suit :
Lire un fichier test.txt
Supprimer le caractères spécifiés Texte précédent
Après avoir compris les exigences, commençons à écrire le code. Le code est très simple. Allez simplement sur chacun d'eux, voir les commentaires pour plus de détails :
import sys filePath = "/Users/xxxxxx/Desktop/test.txt" # 打开文件 files = open(filePath, 'r') # 转成list f_list = files.readlines() tempIndex = 0 # 对f_list 循环 每个index对应一行数据 for index in range(len(f_list)): # temp是获取一行的数据 temp = f_list[index] # 判断"test"是不是temp这行数据的首位 如果是首位 result为true result = temp.find("test") == 0 if result: # 如果是首位 这就是我们要删除的位置 获取他的index tempIndex = index break # 存放新数据 tempContainer = [] for index in range(len(f_list)): if index > tempIndex: # tempIndex之前的数据我们不处理,把tempindex之后的数据存到新的list里面 tempContainer.append(f_list[index]) # 这就获得了我们需要的新数据 print(tempContainer)
Le code ci-dessus complète les exigences, c'est très simple. Il y a quelques points à noter :
Les données obtenues directement en utilisant open ne peuvent pas être traitées, elles sont donc d'abord converties en données traitables, comme une liste ou un dictionnaire, etc.
L'open de Python est similaire à celui du C, avec différents états tels que r, r+, w, w+, etc. Voir l'introduction détaillée
Méthodes de fonctionnement courantes de la fonction open
1. r s'ouvre uniquement Pour lire un fichier, celui-ci doit exister.
2. r+ ouvre un fichier lisible et inscriptible, qui doit exister.
3. w ouvre un fichier en écriture seule. Si le fichier existe, la longueur du fichier est effacée à 0, c'est-à-dire que le contenu du fichier disparaît. Si le fichier n'existe pas, créez le fichier.
4. w+ ouvre un fichier lisible et inscriptible. Si le fichier existe, la longueur du fichier sera remise à zéro, c'est-à-dire que le contenu du fichier disparaîtra. Si le fichier n'existe pas, créez le fichier.
Supposons qu'une exigence soit la suivante :
Plusieurs fichiers doivent être traités
Similaire à la test.txt
méthode de traitement ci-dessus
Après le traitement, enregistrez-le dans un nouveau dossier
En fait, cette exigence est essentiellement : il n'y a qu'une seule opération d'écriture de plus qu'une seule opération de lecture de fichier. L'autre chose c'est de faire un peu le tour de la logique
Comment faire fonctionner plusieurs fichiers en même temps
et ensuite comment les sauvegarder en plusieurs fichiers
Il n'est définitivement pas possible d'opérer fichier par fichier, c'est trop gênant. Laissez-moi parler de mon idée de mise en œuvre :
Placez les fichiers dans un dossier
Récupérez tous les noms de fichiers dans ce dossier et collez-les dans un chemin de fichier
puis créez un nouveau dossier vide, utilisez le nouveau dossier vide plus le nom du fichier d'origine pour le concaténer dans un nouveau chemin et écrivez-le dans
Le code ci-dessous :
import os # 初始的文件夹路径 filePath = "/Users/xxxxxxxx/Desktop/fileDocument" # 存放新文件的空白文件夹 newFilePath = "/Users/xxxxxxxx/Desktop/newFileDocument" # 获取文件夹下所有文件名 fileNames = os.listdir(filePath) for file in fileNames: # 如果当前的文件名包含了'txt',就当它是正确的文件(并不严谨) if file.find("txt") >= 0: # 拼接成我们要读取的完整路径 fileFullPath = filePath + "/" + file # open 函数 默认是 'r'类型 , singleFile = open(fileFullPath) # 转换成list数据 singleFile_list = singleFile.readlines() tempIndex = 0 for index in range(len(singleFile_list)): temp = singleFile_list[index] result = temp.find("min") == 0 if result: tempIndex = index break # 拼接新的文件路径 newSingleFileFullPath = newFilePath + "/" + file # 以 w 方式打开新的空白文件 newFile = open(newSingleFileFullPath, 'w') for index in range(len(singleFile_list)): if index > tempIndex: # 写入tempindex行之后的数据 newFile.writelines(singleFile_list[index]) newFile.close()
Le code ci-dessus n'a en fait rien à introduire, c'est juste une boucle for et la logique est la même qu'une opération de lecture de fichier unique, mais avec un opération d'écriture supplémentaire.
Recommandations associées :
Lire et écrire le code d'opération pour les fichiers PHP
Détails de Python complétant la lecture et l'enregistrement des classes de fichiers Introduction
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!