
Deine Analogie mit einem Bild malen ist schön

lg
Code: Alles auswählen
#!/usr/bin/env python
step = 3
lines = open("in.txt").readlines()
map(lambda p: open("out%s.txt" % p[0].strip(), "w").writelines(p),
[lines[s:e] for s, e in
zip(range(0, len(lines), step),
range(step, len(lines) + step, step))])
Hi lhorn!lhorn hat geschrieben:Code: Alles auswählen
#!/usr/bin/env python step = 3 lines = open("in.txt").readlines() map(lambda p: open("out%s.txt" % p[0].strip(), "w").writelines(p), [lines[s:e] for s, e in zip(range(0, len(lines), step), range(step, len(lines) + step, step))])
Code: Alles auswählen
#!/usr/bin/env python
step = 3
lines = open("in.txt").readlines()
map(
lambda p: open("out%s.txt" % p[0].strip(), "w").writelines(p),
[
lines[s:e] for s, e in zip(
range(0, len(lines), step),
range(step, len(lines) + step, step)
)
]
)
In der Tat, meine Fassung ist etwas arg kondensiert. Das liegt aber daran, dass ich sie von den inneren Funktionen her geschrieben und erst nachträglich Zeilenumbrüche eingefügt habe. Emacs denkt dabei eher an ein Lisp-artiges Layout. Seid froh, dass ich nicht meine erste funktionierende Version, die im Kern nur aus einer Zeile bestand, gepostet habegerold hat geschrieben:Was so ein paar Zeilenumbrüche und Einrückungen ausmachen
Code: Alles auswählen
linecounter = 0
outcounter = 0
out = None
for line in open("in.txt"):
if linecounter % 3 == 0:
try:
out.close()
except:
pass
out = open("out%d.txt" % outcounter, "w")
outcounter += 1
out.write("""das ist linie 1: "+line1
"""das ist linie 2: "+line2
"""das ist linie 3: "+line3""")
linecounter += 1
try:
out.close
except:
pass
Code: Alles auswählen
out.write( str(outcounter+1) + ". txt\ndas ist linie 1: "+line1+
"\ndas ist linie 2: "+line2+
"\ndas ist linie 3: "+line3 )
Code: Alles auswählen
hallo
wie
geht
es
dir
heute
Code: Alles auswählen
das ist zeile 1:hallo
das ist zeile 2: wie
das ist zeile 3: geht
Code: Alles auswählen
das ist zeile 1: es
das ist zeile 2: die
das ist zeile 3: heute
Code: Alles auswählen
das ist zeile 1:
das ist zeile 2:
das ist zeile 3:
Code: Alles auswählen
#!/usr/bin/env python
#! -*- coding: UTF-8 -*-
from __future__ import with_statement
from contextlib import closing
def main():
template = file('template.txt', 'r')
templatelines = [line.strip() for line in template.readlines()]
template.close()
filecounter = 1
with closing(file('input.txt', 'r')) as f_in:
for number, line in enumerate(f_in):
f_out = file('%s.txt' % filecounter, 'a')
template_current = number % len(templatelines)
f_out.write(templatelines[template_current])
f_out.write(line)
f_out.close()
if template_current == len(templatelines) - 1:
filecounter += 1
if __name__ == '__main__':
main()