在我的脚本中,我有以下内容:
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 :(得分: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()
调用该函数并返回一个字符串。