我有一个像这样构造的大字典:
programs['New York'] = 'some values...'
programs['Port Authority of New York'] = 'some values...'
programs['New York City'] = 'some values...'
...
Run Code Online (Sandbox Code Playgroud)
如何返回programs其键提到"纽约"(不区分大小写)的所有元素?在上面的例子中,我想要获得所有这三个项目.
编辑:字典非常大,预计会随着时间的推移而变大.
我正在尝试找到一个Python库来获取音频文件(例如.ogg,.wav)并将其转换为mp3以便在网页上播放.
此外,任何关于设置其播放质量的想法都会很棒.
谢谢.
我有一个具有搜索功能的应用程序.此功能在我缓存24小时的巨型对象(字典)中查找搜索项.对象大约有50,000个按键,重约10MB.
当我在我的主机上分析内存使用情况时,我注意到在经过几次查询后,内存使用量从大约50MB变为超过450MB,这促使我的托管服务提供商终止该应用程序.
所以我想知道这里发生了什么.具体来说,缓存如何利用每个请求的内存,我该怎么做才能解决这个问题?
我有一个字典对象,有大约60,000个密钥,我在我的Django视图中缓存和访问.该视图提供了基本的搜索功能,我在字典中查找搜索词,如下所示:
projects_map = cache.get('projects_map')
projects_map.get('search term')
Run Code Online (Sandbox Code Playgroud)
然而,只是抓住缓存的对象(在第1行)会导致服务器上的内存使用率大幅增加 - 有时超过100MB - 即使在返回值并呈现模板后内存也不会释放.
我怎样才能让记忆像这样抬起来?此外,我尝试在获取值后显式删除对象,但即使这样也不会释放内存峰值.
任何帮助是极大的赞赏.
我决定实现自己的索引表,在其中存储密钥及其pickle值.现在,get()我使用:而不是在字典上使用:
ProjectsIndex.objects.get(index_key=<search term>)
并取消价值.这似乎解决了内存问题,因为我不再将巨型对象加载到内存中.它为页面添加了另一个小查询,但这就是它.似乎是一个完美的解决方案......现在.
我有一个视图,需要用户登录.它将一些数据写入数据库,所以我寻找使用表单提交 request.method == 'POST'
流程如下:如果用户未登录,则会将其重定向到登录页面.登录后,我使用next参数将它们重定向到我的初始视图.问题是重定向不再是POST而是GET.
如何将此请求设为POST?我应该使用其他一些模式来做到这一点吗?
编辑:这是我的观点:
@login_required
def some_view(request):
if request.method == 'POST':
# Do something
return HttpResponseRedirect('some_url')
Run Code Online (Sandbox Code Playgroud)