AppEngine:恢复原来内置的open/file功能



在AppEngine dev_appserver中恢复原始内置open/file功能的最简单方法是什么?我需要在开发环境中获得工作资产管理器(编译多个JS/CSS文件)。

您可以通过更改FakeFile.ALLOWED_MODES标志来写入文件系统

from google.appengine.tools import dev_appserver
allowed_modes = dev_appserver.FakeFile.ALLOWED_MODES
dev_appserver.FakeFile.ALLOWED_MODES = frozenset(['w'])
f = open('test.txt', 'w')
f.write('this is a test')
f.close()
dev_appserver.FakeFile.ALLOWED_MODES = allowed_modes

与批准答案相同。但对于最新版本兼容的修复:

if os.environ.get("SERVER_SOFTWARE", "").startswith("Dev"):
    from google.appengine.tools.devappserver2.python import stubs
    stubs.FakeFile.ALLOWED_MODES = frozenset(["a", "r", "w", "rb", "U", "rU"])

最新更新