skriva in text på specifik rad i python

Här diskuteras programmering och utveckling
freemanen
Inlägg: 137
Blev medlem: 23 jan 2006, 23:33
OS: Ubuntu
Utgåva: 18.04 Bionic Beaver LTS
Ort: Ed

skriva in text på specifik rad i python

Inlägg av freemanen »

om man vill skriva in en text på till exempel rad 8 i en fil. Hur gör man det?
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

SV: skriva in text på specifik rad i python

Inlägg 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.
Skriv svar

Återgå till "Programmering och webbdesign"