Zapis liczb do pliku

Zapis liczb do pliku
FA
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Kopiuj
# 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

Kopiuj
367
45
3
45
45
234
36
lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5023
0

Podejrzyj pod debugerem, są dane z trzeciej linijki?

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
0

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

FA
  • Rejestracja: dni
  • Ostatnio: dni
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

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
0

@farharod:

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

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

ledi12
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

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

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.