Hello
>prompt> cat python.py
>
>def chop(l):
> return l[-1]=='\n' and l[:-1] or l
>
>fileIn = open("in.txt", "r")
>fileOut = open("out.txt", "w")
>
>nextLine=1
>lineNum=-1
># marche pas : while( not line=fileIn.readline() ) :
>while( 1 ) :
> line=fileIn.readline()
> if( not line ) : break
> lineNum += 1 # "lineNum++" marche pas !! dingue !
> if( lineNum & 1 ):
> fileOut.write(lineChop + line)
> else:
> #lineChop=chop(line) # à dé-commenter pour un autre essai
> lineChop=line[:-1]
>
># derniere ligne si nombre de lignes impair
>if( not lineNum & 1 ):
> fileOut.write(lineChop + "\n")
>
># pas de close, rien ... comme un sauvage
>#EOF
>
>
>
Mmhh.. je te propose une version un peu plus élégante du code python:
fileIn = open("in.txt", "r")
fileOut = open("out.txt", "w")
lineNum=-1
for line in fileIn:
lineNum += 1
if( lineNum & 1 ):
fileOut.write(lineChop + line)
else:
lineChop=line[:-1]
if( not lineNum & 1 ):
fileOut.write(lineChop + "\n")
fileIn.close()
fileOut.close()
J'ai gardé ton idée de code, sans optimiser a proprement parler, juste
écrit ça de manière plus "classique"
un petit test ;-)
mike@alezan:~$ time python python.py
real 0m4.761s
user 0m2.837s
sys 0m0.510s
mike@alezan:~$ time perl perl_v2.pl
real 0m6.150s
user 0m2.636s
sys 0m0.552s
Bon je dis ca je dis rien hein :-P
Mike