AppEngine:恢复原始内置的打开/文件功能

时间:2011-09-04 16:45:19

标签: python google-app-engine assets

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

2 个答案:

答案 0 :(得分:3)

您可以写入更改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

答案 1 :(得分:2)

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

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"])