Как вы загружаете XML-файл в строку с python на GAE? - PullRequest
2 голосов
/ 09 октября 2011

Я использую последнюю версию среды Python GAE по умолчанию.Оба из них дают ожидаемые результаты:

isTrue = os.path.exists(path)
numberGreaterThanZero = os.path.getsize(path)

Но это:

myStrLen = len(open(path))

Дает эту ошибку:

TypeError: object of type 'FakeFile' has no len()

Нет результатов для этой ошибки в Google,Неспособность открыть файлы - настоящий облом.Что я делаю неправильно?Почему Python / GAE считает мой файл поддельным?

1 Ответ

5 голосов
/ 09 октября 2011

Функция open возвращает открытый файл, а не строку.Открытые файлы не имеют len.

. Вам нужно фактически прочитать строку из файла, например, с помощью метода read.

contents = open(path).read()
myStrLen = len(contents)

Есливам не нужно содержимое, вы также можете получить размер файла с помощью os.stat.

myStrLen = os.stat('/tmp/x.py').st_size

FakeFile - это просто реализация в песочнице GAE file.

...