我需要(并且找不到)MurmurHash的纯Python(没有c ++)实现,而且我也是新手自己写的.速度或内存使用量对我的项目无关紧要.
我在这里找到了一个尝试,但它限制为31位散列,我真的需要64位散列.
我正在从GAE中的表单上传一个csv/tsv文件,我尝试用python csv模块解析该文件.
与此处描述的一样,GAE中上传的文件是字符串.
所以我将上传的字符串视为类文件对象:
file = self.request.get('catalog')
catalog = csv.reader(StringIO.StringIO(file),dialect=csv.excel_tab)
Run Code Online (Sandbox Code Playgroud)
但我的文件中的新行不一定是'\n'(感谢excel ..),并且它生成了一个错误:
错误:在未引用字段中看到的换行符 - 是否需要以通用换行模式打开文件?
有谁知道如何使用StringIO.StringIO来处理像在通用换行符中打开的文件一样的字符串?
我认为库中存在内存泄漏ndb
但我无法找到.
有没有办法避免下面描述的问题?
您是否有更准确的测试想法来确定问题所在?
这就是我重现问题的方式:
我创建了一个包含2个文件的简约Google App Engine应用程序.
app.yaml
:
application: myapplicationid
version: demo
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /.*
script: main.APP
libraries:
- name: webapp2
version: latest
Run Code Online (Sandbox Code Playgroud)
main.py
:
# -*- coding: utf-8 -*-
"""Memory leak demo."""
from google.appengine.ext import ndb
import webapp2
class DummyModel(ndb.Model):
content = ndb.TextProperty()
class CreatePage(webapp2.RequestHandler):
def get(self):
value = str(102**100000)
entities = (DummyModel(content=value) for _ in xrange(100))
ndb.put_multi(entities)
class MainPage(webapp2.RequestHandler):
def get(self):
"""Use of `query().iter()` was suggested here:
https://code.google.com/p/googleappengine/issues/detail?id=9610 …
Run Code Online (Sandbox Code Playgroud) python google-app-engine memory-leaks webapp2 app-engine-ndb
我尝试将多个芹菜链分组,如下所示:
my_flow = group(chain(task1.s() | task2.s())(item) for item in items)
Run Code Online (Sandbox Code Playgroud)
当我调用时my_flow()
,工作人员正确执行任务,但它引发了异常:
File "/Library/Python/2.7/site-packages/celery/canvas.py", line 507, in __call__
return self.apply_async(partial_args, **options)
File "/Library/Python/2.7/site-packages/celery/canvas.py", line 484, in apply_async
type = self.type
File "/Library/Python/2.7/site-packages/celery/canvas.py", line 547, in type
app = self._app if self._app else self.tasks[0].type.app
AttributeError: 'AsyncResult' object has no attribute 'type'
Run Code Online (Sandbox Code Playgroud)
在组中运行链的正确方法是什么?
我有一个目录 /project/my_name/
我需要创建一个文件 /project/my_name
但是:
with open(filename, 'w') as outfile:
outfile.write(my_content)
Run Code Online (Sandbox Code Playgroud)
提高 IOError: [Errno 21] Is a directory: u'/project/my_name'
有什么帮助吗?
python ×5
celery ×1
csv ×1
filesystems ×1
hash ×1
io ×1
macos ×1
memory-leaks ×1
murmurhash ×1
webapp2 ×1