を混乱:http://www.penzilla.net/tutorials/python/fileio/のPythonでファイルへの書き込み - 「」で行われていないが、」私はこのチュートリアルに出くわしたファイルを読み書きについて学びながら、私はプログラミングの経験の年未満を持っている私
チュートリアルを。私はこのコードをコピーし、Python 2.7.3シェルを通してそれを実行しました
# 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()
私はに追加された文字列を入力するために繰り返しよう求めています:作成し、ファイルに書き込むための簡単なスクリプトとして、以下の例を提供しています。私が理解していないのは、Whileループを終了するための条件(「実行していない:」)です。 。これは、プロンプトで入力してループを終了し、続いてファイルを書き込むことを意味すると考えましたが、doneは効果がありません。それで、私は、プロンプトに入力された文字列以外の文字列がループを壊してファイルを書き込むべきだと考えました。私はループをまったく壊すことができませんでした。私がプロンプトで入力したものについては、「名前を入力してください:」というメッセージが再度表示されました。 Whileループを削除している場合/ else文を保持することにより
は、私は、単一のプロンプトのために働くのコードを得ました。誰かがここで私が理解していないことを教えてもらえますか?私はそれが明白であると仮定されたので、それはチュートリアルで説明されていないかなり単純な概念であると推測しています。 "done"は一般的な単語なので、Python固有の意味を見つけることができませんでした。
このコードは恐ろしいです。別のチュートリアルがあります。 – Daenyth
そのコードは恐ろしいです。それは命名規則に反し、誤解を招く無意味なループ条件を使用し、型のチェック(継承も無視する)、間違っている(例外がスローされない限りループを終了することはできないが、キャッチされない)、欠如した、 ( '' open(...) '、 '' finally:f.close() ')を使うべきです。また、このページは6年以上経過しているようです。 – delnan
ホーリー・モーゼス、そのチュートリアルの作者とリンチできますか? – favoretti