2009-06-06 7 views
1

Pythonのfile.read()関数は何も読み込みません。ファイル内の内容にかかわらず常に''を返します。それは何でしょうか?私はそれが何か簡単でなければならないことを知っていますが、私はそれを理解できません。UbuntuのPythonのfile.read()

UPD:「r」モードと「w +」モードを試しました。

UPD:コードはでした:

>>> file = open('helloworld', 'w+') 
    >>> file.read() 
    '' 

ソリューション:それはちょうど、ファイルが 'W +' モードで読み取ることができるですが、ことを私に来た、Pythonは開封後、それを切り捨てます。代わりに 'r'(または 'r +')モードを使用する必要があります。みんな、ありがとう。

+4

動作しないコードの例を投稿してください。 – ChristopheD

答えて

2

警告:あなたはPythonインタプリタで作業している場合、


、あなたはこのような何か:私はちょうど「作業」ではないという行動へと推測している

>>> f = open('myfile.txt', 'r') 
>>> f.read() 

...ファイル全体が画面に表示されます。

しかし、あなたは再びこれを行う場合:

>>> f.read() 
'' 

を...あなたは空の文字列を取得します。

あなたがまだいない場合は、おそらくインタープリタを再起動してみてください。 documentationから

「、ファイルの内容を読んで(サイズ)f.readを呼び出すために、いくつかのデータ量を読み込み、それを文字列として返すサイズはオプションの数値引数でサイズがあるとき。省略または否定の場合、ファイルの内容全体が読み込まれ、返されますが、ファイルがマシンのメモリの2倍の大きさであれば問題です。それ以外の場合は、最大バイト数が読み込まれ、返されます。 f.read()は空の文字列( "")を返します。

関連する問題