http://learnpythonthehardway.comの追加の質問に取り組んでいました。ファイルを開いて読み取るプログラムを作成した後、それを変更して open コマンドにモードを追加しようとしました。None
しかし、それを行うたびに、ファイルの内容と同様に返されます。
コードは次のとおりです。
from sys import argv
script, filename = argv
txt = open(filename, "r")
print "Here's your file %r:" % filename
print txt.read()
print txt.close()
print "Type the filename again:"
file_again = raw_input("> ")
txt_again = open(file_again, "r")
print txt_again.read()
print txt_again.close()
これが出力されるものです:
$ python ex15.py filey.txt
Here's your file 'filey.txt':
whatever
None
Type the filename again:
> filey.txt
whatever
None
スラッシュは行間にあります。
指定しないと、python がNone
自動的に戻ることを説明する質問を見つけました。ただし、代わりに、または print に加えて return コマンドを使用しようとすると、定義が必要になります。定義を追加すると、残りのコードが機能しなくなります。どうすればこれを取り除くことができNone
ますか?
また、「r」モードでは表示されるが、モードなしでは表示されない理由を誰かが説明できれば幸いです。