python - 如何在 GAE 上使用 python 将 XML 文件加载到字符串中?

标签 python google-app-engine typeerror

我正在使用最新的 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/

相关文章:

python - 使用 SQLAlchemy 的声明性语法时访问表实例的最佳方式

google-app-engine - 在 GAE 中实例化 Gson 时出现 AccessControlException。为什么?

java - 如何使用应用程序引擎中生成的默认ID

python - Tkinter 标签,类型错误 : cannot concatenate 'str' and 'instance' objects

python - 类型错误:列表索引必须是整数,而不是元组,怎么了

python - C++ 中基本 Boost 使用的段错误

python - Python 中的 OLE 复合文档

google-app-engine - 如何在 Google App Engine 中执行全文搜索?

python - 基本整数到字符串映射函数中的 "Function object is unsubscriptable"

python - Sklearn 将 fit() 参数传递给管道中的 xgboost