Получение указателя вместо строки - PullRequest
2 голосов
/ 12 января 2012

В моем скрипте есть следующее:

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 ]

6 голосов
/ 12 января 2012

Вам нужно вызвать метод с использованием скобок:

theString = text.read()

Без скобок Python присваивает ссылку на сам метод для theString (который на данный момент не является строкой).

1 голос
/ 12 января 2012

Вы должны заменить

theString = text.read

с:

theString = text.read()

потому что text.read - это функция, или, что лучше, <built-in method read of file object at xxx>,
вместо этого text.read() вызывает эту функцию и возвращает строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...