Mam mniej niż rok doświadczenia w programowaniu podczas poznawania odczytu i zapisu plików natknąłem tym tutorialu: http://www.penzilla.net/tutorials/python/fileio/Zapis do pliku z Pythona - „” Choć nie zrobił:”Mylenie Me
samouczka. oferuje następujący przykład jako prosty skrypt do tworzenia i zapisywania do pliku:
# Let's create a file and write it to disk.
filename = "test.dat"
# Let's create some data:
done = 0
namelist = []
while not done:
name = raw_input("Enter a name:")
if type(name) == type(""):
namelist.append(name)
else:
break
# Create a file object:
# in "write" mode
FILE = open(filename,"w")
# Write all the lines at once:
FILE.writelines(namelist)
# Alternatively write them one by one:
for name in namelist:
FILE.write(name)
FILE.close()
skopiowałem ten kod i prowadził go przez Python 2.7.3 Shell jestem poproszony aby wprowadzić ciągi, które są dołączone do a. lista, która zostanie zapisana do pliku (to ma dla mnie sens) .Co nie rozumiem, jest warunkiem wyjścia z pętli While ("While not done:") . Pomyślałem, że to oznacza, że wpisuję tekst done na monicie, aby wyjść z pętli, a następnie napisać plik, ale zrobione nie ma żadnego efektu. Wtedy pomyślałem, że wszelkie niepodpisane w wierszu polecenia powinny przerwać pętlę i napisać plik. Nie mogłem w ogóle złamać pętli; dla czegokolwiek, co wpisałem przy monicie, zostałem poproszony ponownie o "Wprowadź nazwę:".
Po usunięciu pętli While i zachowaniu instrukcji if/else otrzymałem kod, aby działał z pojedynczym monitem. Czy ktoś może mi powiedzieć, czego tu nie rozumiem? Zgaduję, że jest to dość prosta koncepcja, która nie została wyjaśniona w tutorialu, ponieważ zakładano, że jest oczywista. Ponieważ słowo "done" jest tak powszechnym słowem, nie byłem w stanie znaleźć dla niego żadnych specyficznych dla Pythona znaczeń.
Ten kod jest straszne. Powinieneś znaleźć inny samouczek. – Daenyth
Ten kod jest okropny. wymyka się ona nazewnictwa, używa mylących i bezsensowny stan zapętlenia, sprawdza typy (pomijając dziedziczenie też), jest niewłaściwy (nigdy nie może wyjść z pętli, chyba że jest wyjątek, ale to nie byłby złapany) i nie uczy brakuje, naiwny podejście do zarządzania zasobami (powinno używać 'z otwartym (...)' lub 'finally: f.close()'). Również strona wydaje się być 6 lat nieaktualna. – delnan
Święty Mojżeszu, czy możemy zliniować autora tego samouczka? – favoretti