stefan1995
Mirki mam problem w #python #programowanie. Próbuje zrobić żeby jeden plik tekstowy przepisać do nowego uwzględniając wyrażenia regularne. Shell wypisuje dobrze jednak w pliku brakuje linii. Fragment kodu link
1
  • Najlepsze
  • Wszystkie komentarze
meohaw
@stefan1995: A jak otwierasz plik? Bo przy zapisywaniu do pliku istnieje coś takiego jak bufor, i jeżeli otwierasz plik po chamskiemu, bez poprawnego zamykania go, to część bufora może się "urywać", bo program się kończy zanim faktycznie zamkniesz i posprzątasz połączenie do pliku.
3
stefan1995
@meohaw: kurde dzięki stary problem był w zamykaniu pliku, zamykałem nie ten co powinien być zamknięty ( ͡° ʖ̯ ͡°)
2
b.....r
b.....r
@stefan1995: for line in plik.readlines()
1
b.....r
b.....r
@stefan1995: dobra, to co rozumiez przez "brakuje linii"
1
zamzar
zamzar
@stefan1995: Może tyle linii (1135) spełnia warunek: if re.match(exp, line) ?
1
meohaw
@stefan1995: Nie ma sprawy. Polecam otwieranie pluiku przez with open('plik.txt') as f: wtedy się sam zamknie i się nie trzeba martwić zazwyczaj :D
1
stefan1995
@benethor: dalej to samo
0
stefan1995
@benethor: Wejściowy plik ma 1970 lini a w wyjściowym jest 1135 mimo że w shellu wypisuje wszystkie linie a w pliku kończy sie na 1135
0
stefan1995
@zamzar: ale print w tym ifie wypisuje do shella tak jak powinno być tylko write jakby przestawał dopisywać do pliku
0