2012-01-11 35 views
2

を取得、私は次のようにありますは私のスクリプトでポインタの代わりに、文字列

file = '%s/data.txt' % (theDirectory) 
text = open(file) 
theString = text.read 
print 'Hello, %s' % (theString) 

これを返します。

Hello, <built-in method read of file object at 0x100534a48> 

この原因は何?あなたはコール括弧を用いた方法に必要

+0

ディレクトリセパレータを明示的に追加するのではなく、おそらくos.path.joinを使用しているはずです(よりクロスプラットフォームです)。 – James

答えて

6

:括弧なし

theString = text.read() 

、Pythonは(その時点で、全くの文字列ではありません)theStringの方法自体への参照を割り当て。

1

あなたはと

theString = text.read 

を交換する必要があります。text.readが関数である、またはそれが機能して文字列を返す代わりに<built-in method read of file object at xxx>
text.read()の呼び出しであるため、

theString = text.read() 

関連する問題