0

Pythonシェルでこれを入力すると機能します

>>> f= open(os.path.join(os.getcwd(), 'test1.txt'), 'r')
>>> f.read()
'plpw eeeeplpw eeeeplpw eeee'
>>> f.close()

しかし、Python プログラムを作成すると機能しません。

import os
f= open(os.path.join(os.getcwd(), 'test1.txt'), 'r')
f.read()
f.close()

テキストエディターを使用してこのコードを保存しました。このプログラムを Python シェルで実行すると、何も表示されません。どうしてか言ってくれない..

4

1 に答える 1

5

対話型プロンプトでは、関数呼び出しが返すものを自動的に出力します。つまり、 の戻り値がf.read()自動的に出力されます。ただし、これはプログラムに入れても発生しないため、print表示するには自分で行う必要があります。

import os
f = open(os.path.join(os.getcwd(), 'test1.txt'), 'r')
print f.read()  # use print(f.read()) in Python 3
f.close()

私が行う別の提案は、withブロックを使用することです。

import os
with open(os.path.join(os.getcwd(), 'test1.txt'), 'r') as f:
    print f.read()

これは、後でファイルを手動で閉じることを心配する必要がないことを意味します。

于 2013-05-05T09:48:13.610 に答える