Bonjour, bonjour,
Je suis plutot debutant en python et j'ai un pitit probleme (d'ou ma venue ici) ...
Voila je recherche a faire une fonction qui lit un fichier, regarde si il est vide (sachant qu'il ya obligatoirement une entete donc qui regarde si après l'entete le fichier est vide ou pas) et qui suivant ce que donne la fonction lecture de fichier supprime dans une liste des caracteres correspondant au fichier vide.
Je m'explique plus en detail :
J'ai plusieurs fichiers tabulés (.tsv) de la forme suivante :
# blabla les # blabla sont les entetes du fichiers elles sont générées automatiquement
# blabla
# blabla
donnée 1
donnée 2
...
Si le fichier est vide, on n'a que l'ente donc les # blabla
J'ai donc crée la fonction suivante :
(Haaaaaan pas d'indentation cay le maaaaaaaaaaaal mais je n'ai pas encore écrit la fonction donc pas de fichier a rattacher avec indentations ... 1000 excuses!)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 for fichier in Listefichier: f = open('fichier.tsv',"r") ligne = f.readline() while ligne[0] = "#": ligne = f.readline() if ligne[0] = "": f.close() os.remove('fichier.tsv')
Ensuite, je regarde si le fichier existe dans mon repertoire ou pas :
Et ici, je voudrais que si le fichier n'existe pas, sachant que j'ai une liste de parametres a mettre en argument a un fichier batch, bah le parametre associé a ces fichiers qui n'existent plus (parcequ'ils étaient vides et que je les ai supprimés) soient supprimer de ma chaine de caractere.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 for fichier in Listefichier: if os.path.isfile('fichier.tsv') == False
Exemple : J'ai 3 fichiers LOL_MDR.tsv, LOL_PTDR.tsv, LOL_XPLDR.tsv
il s'avère que LOL_MDR.tsv est vide (juste l'entete) donc la premiere fonction le supprimme. J'ai ma chaine de caractere que je voudrais donner en argument a mon .bat qui est la suivante : %MDR% %PTDR% %XPLDR%
Je voudrais que si os.path.isfile('LOL_MDR.tsv') == FALSE ma chaine de caractere devienne %PTDR% %XPLDR%.
Est-ce que vous auriez une idée de comment faire ça?
Et bien sur.... Si une erreur dans la premiere partie de mon code vous saute aux yeux (je rappele que je débute ... ne me jettez pas la pierre NOOOOOOOOON!! Aïe !) faites moi le savoir SVP !
En tout cas, je vous remercie de votre attention et vous souhaite une bonne journée !
Amicalement,
Tequila PAF !![]()
Partager