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:
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)
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.
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
>>> print len(filez1)
433
>>> print len(total1)
432
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".
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