Bonjour,
Voilà mon problème :
J'ai plusieurs fichiers binaires à concaténer. Il ya une entete sur chaque fichier qu'il faut enlever. Je vous met mon code et je vous explique ensuite:
Docn voila, je fais une boucle en enlevant les 39 premiers caracteres de mes fichiers et puis je recupère tout ça dans une liste total.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 # -*- coding: iso-8859-1 -*- import os, os.path repertoire = 'D:\Documents and Settings\olivetr\My Documents' rep = repertoire entrees = os.listdir(rep) fichier_concatene = 'D:\Documents and Settings\olivetr\My Documents\blabla.tm' fconcat = file(fichier_concatene, 'wa') lignes = [] total = [] #Pour tous les fichiers dans le repertoire for nf in entrees: nfc = os.path.join(rep, nf) if os.path.isfile(nfc) and nf[0:7] == "R_HKTMR": f = file(nfc, 'rb') ligne = f.readlines() Premiereligne = ligne[0] Premiereligne = Premiereligne.replace(Premiereligne[0:39], "") lignes = [Premiereligne] for line in ligne[1:len(ligne)]: lignes.append(line) for line1 in lignes: total.append(line1) for lines in total: fconcat.write(lines) fconcat.close() fconcat = file(fichier_concatene, 'rb') filez = fconcat.readlines() filez1 = filez[0] total1 = total[0] print len(filez1) print len(total1)
Ensuite pour chaque objet dans total, je l'écrit dans mon fichier fconcat.
Le probleme est que fconcat.write me rajoute un caractere de fin de ligne à la fin de chaque ligne.
En effet :
Malheureusement, même si se sont des caracteres de fin de ligne, ce sont des caracteres quand meme et du coup dans mon editeur hexadecimal quand je lit mon fichier à la fin de chaque ligne j'ai un caractere en trop "0x0D".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 >>> print len(filez1) 433 >>> print len(total1) 432
Il y aurait-il une solution à mon problème afin de supprimer ce caractere et ne pas avoir 0x0D qui se rajoute à la fin de chaque ligne?
Si vous pouviez m'aider ce serait bien bien cool !
Tequilaplouf
Partager