Zapis liczb do pliku

0

Mam problem z poniższym programem. Program się uruchamia, ale nie zapisuje danych do pliku testuj.txt

# Otwieramy plik dane.txt do odczytu
with open('./dane.txt', 'r') as plik_wejsciowy:
    # Odczytujemy wszystkie linie z pliku i usuwamy ewentualne znaki nowego wiersza
    dane = [line.strip() for line in plik_wejsciowy]

# Usuwamy powtórzenia zachowując kolejność (używamy zbioru do wykrywania unikatowych liczb)
unikatowe_dane = list(set(dane))

# Otwieramy plik testuj.txt do zapisu
with open('./testuj.txt', 'w') as plik_wyjsciowy:
    # Zapisujemy unikatowe dane do pliku testuj.txt
    for liczba in unikatowe_dane:
        plik_wyjsciowy.write(liczba + '\n')

print("Dane zostały oczyszczone i zapisane do pliku testuj.txt.")

oczywiście w pliku dane.txt są poniższe dane

367
45
3
45
45
234
36
0

Podejrzyj pod debugerem, są dane z trzeciej linijki?

0

A to desktop? Windows (pro / home) / LInux ?
A może web (inny właściciel procesu) ?

0
AnyKtokolwiek napisał(a):

A to desktop? Windows (pro / home) / LInux ?
A może web (inny właściciel procesu) ?

Tak, windows.
Okazuje się, że plik testuj.txt i dane.txt zapisywane były do innego folderu.
Już wszystko gra.
Dzięki

0

@farharod:

Sądzę, że coś ukryłeś odnośnie tego kodu.

edit: mówiąc wyraznie: puszczając ew pomoc w maliny

0

plik_wejsciowy to tylko buffer. Powinno być plik_wejsciowy.readlines()

dane = [line.strip() for line in plik_wejsciowy.readlines()]

1 użytkowników online, w tym zalogowanych: 0, gości: 1