Ich weiss, dass ich die Schreibposition mit seek() ändern kann
Code: Alles auswählen
open('C:/B/A.txt', 'r+').seek(42)
Also kann ich mit nur einer Programmzeile zur Dokumentzeile 3 springen oder bleiben mir da nur Schleifen übrig?
Code: Alles auswählen
open('C:/B/A.txt', 'r+').seek(42)
Code: Alles auswählen
i=0; Umbrüche = 0; file=open('C:/B/A.txt', 'r+')
while Umbrüche != 3:
i += 1
file.seek(i)
if file.read(i) == '\n':
Umbrüche += 1
Code: Alles auswählen
def get_lineoffsets(f):
f.seek(0, 2)
end = f.tell()
f.seek(0, 0)
pos = 0
while pos < end:
yield pos
f.readline()
pos = f.tell()
with open('text', 'rb+') as f:
for i, offset in enumerate(get_lineoffsets(f)):
f.seek(offset, 0)
# erstes Byte einer Zeile
print i, repr(f.read(1))
# überschreibe das 2. Byte
f.write('Z')