我正在尝试为python编写自己的"marshal"代码,这样我就可以在Google App Engine上存储已编译的python代码,以动态的方式提供脚本.大家都可以验证,GAE不支持"marshal","pickle"不能序列化代码对象.
我发现我可以构造一个代码对象,types.CodeType()
但它需要12个参数.
尽管我已经尝试过,但我找不到任何关于此调用的文档,我真的需要构建代码对象,以便我可以exec()
.我的问题是,有没有人知道这个types.CodeType()
"构造函数" 的参数是什么或者是什么方式来反省它?我已经使用了这里info()
定义的功能,但它只是吐出一般信息!
快速FAQ:
UPDATE
截至2011年7月7日,Google App Engine基础架构不允许实例化代码对象,因此我的论点没有实际意义.希望将来在GAE上得到修复.
python compiler-construction google-app-engine dynamic-cast introspection
我正在尝试将ArrayBuffer上传到服务器(我无法更改),期望我以多部分/表格数据格式上传文件.服务器从Content-Disposition
部件中提取filename
将保存的部分,并在Content-type
提供文件时将使用的MIME类型下.目前,我成功上传文件:
var xhr = new XMLHttpRequest();
var fdata = new FormData();
var bb;
if (WebKitBlobBuilder) {
bb = new WebKitBlobBuilder();
} else if (MozBlobBuilder) {
bb = new MozBlobBuilder();
} else if (BlobBuilder) {
bb = new BlobBuilder();
}
bb.append(obj.array);
fdata.append('file', bb.getBlob("application/octet-stream"));
xhr.open("POST", url, true);
xhr.send(fdata);
Run Code Online (Sandbox Code Playgroud)
但是标题会像浏览器一样在Chrome上发送,例如:
Content-Disposition: form-data; name="file"; filename="blob"
Content-Type: application/octet-stream;
Run Code Online (Sandbox Code Playgroud)
我打算用FileWriter API将它保存到一个临时文件,然后上传它,但这是不对的.
在回答时,请考虑: