У меня меньше года опыта программирования. Изучая чтение и запись файлов, я наткнулся на это руководство :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.