Sida 1 av 1

skriva in text på specifik rad i python

Postat: 28 jun 2007, 18:32
av freemanen
om man vill skriva in en text på till exempel rad 8 i en fil. Hur gör man det?

SV: skriva in text på specifik rad i python

Postat: 28 jun 2007, 20:35
av Lars

Kod: Markera allt

f = open('fil.txt')
for a in range(7):
    f.write('\n')
f.write('Detta är rad nummer 8\n')
f.close()
Men om du vill ändra i en befintlig fil så blir det lite svårare. För Python så är en fil bara ett gäng byte, så man kan inte enkelt ändra en speciell rad. För att göra det måste man veta längden på varje rad, och sedan flytta raderna 9 och uppåt (om din nya rad inte råkar vara exakt lika lång som den gamla).

Om filen inte är alltför stor så kanske du kan läsa in den i en array (ett element för varje rad) och sedan modifiera arrayen innan du skriver den till filen igen.