获取指针而不是字符串

时间:2012-01-11 22:15:50

标签: python file pointers filesystems

在我的脚本中,我有以下内容:

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>

造成这种情况的原因是什么?

2 个答案:

答案 0 :(得分:6)

您需要使用括号调用方法:

theString = text.read()

如果没有括号,Python会将方法本身的引用分配给theString(此时根本不是字符串)。

答案 1 :(得分:1)

你必须替换

theString = text.read

with:

theString = text.read()

因为text.read是一个函数,或者更好的是<built-in method read of file object at xxx>
text.read()调用该函数并返回一个字符串。