Запись в файл с помощью Python — «Пока не сделано :» Меня смущает

У меня меньше года опыта программирования. Изучая чтение и запись файлов, я наткнулся на это руководство :http://www.penzilla.net/tutorials/python/fileio/

. В учебнике предлагается следующий пример простого скрипта для создания и записи в файл:

# 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()  

Я скопировал этот код и запустил его через оболочку Python 2.7.3. Мне неоднократно предлагается ввести строки, которые добавляются к списку, который будет записан в файл (это имеет смысл для меня ). Чего я не понимаю, так это условия выхода из цикла «Пока» («Пока не сделано :» ). Я думал, что это означает, что я набираю done в приглашении, чтобы выйти из цикла и впоследствии записать файл, но done не имеет никакого эффекта. Затем я подумал, что любая строка, отличная от -, введенная в командной строке, должна разорвать цикл и записать файл. Я вообще не мог разорвать петлю; для всего, что я ввел в подсказке, мне просто снова предложили «Введите имя :».

Удалив цикл While и сохранив оператор if/else, я получил код, работающий для одного приглашения.Может кто-нибудь сказать мне, что я не понимаю здесь? Я предполагаю, что это довольно простая концепция, которая не была объяснена в учебнике, потому что предполагалась очевидной. Поскольку слово «готово» является таким распространенным, я не смог найти для него никаких конкретных значений в Python.

6
задан Kyle Wagner 5 August 2012 в 23:16
поделиться