Avatar billede timmies Juniormester
07. juli 2015 - 14:41 Der er 4 kommentarer

Flet to filer

Hej,

Jeg skal have flettet to filer på fölgende måde:


linie 1 fra fil A
linie 1 fra fil B
linie 2 fra fil A
linie 2 fra fil B
linie 3 fra fil A
...osv

Der er tale om MEGET store tekstfiler. Jeg har kikket på readlines, men det bliver for slövt.

Andre forslag?

Mvh
Kim

PS: det er  Python 2
Avatar billede arne_v Ekspert
07. juli 2015 - 16:43 #1
Du skal vel laese og skrive en linie af gangen.


Noget a la:

for line in f1:
    f2.write(line)
Avatar billede j4k0b Nybegynder
07. juli 2015 - 22:33 #2
Eksempelvis (ikke testet):

sources = [iter(open(...)), iter(open(...))]
target = open(..., 'w')

while 1:
    written = False
    for f in sources:
        l = f.next()
        if l:
            written = True
            target.write('%s\n' % l)
    if not written:
        break
Avatar billede arne_v Ekspert
08. juli 2015 - 03:54 #3
Mindre avanceret:

fa = open('a.txt', 'r')
fb = open('b.txt', 'r')
fab = open('ab.txt', 'w')
while True:
    linea = fa.readline()
    if not linea: break
    fab.write(linea)
    lineb = fb.readline()
    if not lineb: break
    fab.write(lineb)
Avatar billede timmies Juniormester
08. juli 2015 - 07:58 #4
Mange tak! Det vil jeg pröve.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester