我正在使用最新的 GAE 默认 python 环境。这两个都给出了预期的结果:
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 认为我的文件是假的?
最佳答案
open
函数返回一个打开的文件,而不是一个字符串。打开的文件没有 len
。
您需要实际从文件中读取字符串,例如 read
方法。
contents = open(path).read()
myStrLen = len(contents)
如果你不需要这些内容,你也可以用os.stat
来获取文件大小。 .
myStrLen = os.stat('/tmp/x.py').st_size
FakeFile
只是 GAE 的 file
沙盒实现。
关于python - 如何在 GAE 上使用 python 将 XML 文件加载到字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7705816/