Bonjour à tous,
J'ai un script que je souhaiterais répété sur une liste e fichiers.
J'ai créé ma liste de fichiers en l'écrivant à la main, elle s'appelle Listfiles. Ces fichiers sont tous dans un répertoire \Files\2020\.
Listfiles qui est une list.
Je souhaiterais retirer des lignes dans tous les fichiers (celles commençant par "TOA5", "TS" et "") de tous ces fichiers de la façon suivante mais je ne sais pas quoi mettre comme attribut dans les fonctions open pour le prendre en compte. J'ai tenté avec + mais ça ne fonctionne pas. A moins que je doive utilser % ? Je suis un peu perdu.
Si vous avez la solution, je suis preneur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for i in listfiles: filename = listfiles[i] with open('\Files\2020_in\'+listfiles[i], "r") as input: with open('\Files\2020_out\'++listfiles[i]+'_out.dat', "w") as output: for line in input: if not line.startswith('"TOA5"') and not line.startswith('"TS"') and not line.startswith('""'): output.write(line)"
De même, si je n'avais pas à écrire manuellement la liste des fichiers mais pouvoir les lire dans un dossier, ce serait bien. J'ai essayé hier la librairie glob mais impossible à y comprendre quelquechose :
Dans les exemples que j'ai vu sur iunternet, certains mettent des / au lieu de \, d'autres \\ au lieu de \, bref sans rien y comprendre sachant qu'en mettant \, c'est le vrai chemin et ça ne fonctionne pas alors qu'en mettant \\ ou /, ça fonctionne mais ce n'est plus un chemin puisque j'ai C:/Users/nomdesfichiers... ou C://Users//nomdesfichiers...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 import glob liste=glob.glob('C:\Users\*')
Peut-être que glob est inadapté pour ce que je cherche à faire, à savoir récupérer une liste de fichier d'un répertoire, la mettre das une liste pour que je puisse enir travailler un à un sur chacun des fichiers de ce répertoire.
Merci d'avance.
Partager