小编Hob*_*use的帖子

如何将python中的文本排列到终端中的列中?

我正在终端窗口中的脚本中打印出一些值,如下所示:

for i in items:
    print "Name: %s Price: %d" % (i.name, i.price)
Run Code Online (Sandbox Code Playgroud)

如何将这些排列成列?

python

8
推荐指数
2
解决办法
1万
查看次数

如果任务失败,如何将任务放回队列?

我有一个看起来像这样的脚本:

#!/usr/bin/env python
# encoding: utf-8

import time, random, os, multiprocessing

def main():
    NPROCESSES = 5
    pool = multiprocessing.Pool(processes=NPROCESSES)

    a = [1,2,3,4,5,6,7,8,9,0]
    for _ in pool.imap_unordered(do_task, a):
        pass

def do_task(n):
    try:
        might_crash(n)
    except Hell, e:
        print e, " crashed."

def might_crash(n):
    time.sleep(3*random.random())
    if random.randrange( 3 ) == 0:
        raise Hell(n)
    print n

class Hell(Exception):
    pass  

if __name__=="__main__":    
    main()
Run Code Online (Sandbox Code Playgroud)

此脚本通常会打印'a'中的值,但might_crash()会随机引发异常.

我想捕获这些异常并将当前的do_task()放回队列中以便稍后重试.

如果当前任务失败,如何将当前任务放回队列?

python multiprocessing

8
推荐指数
1
解决办法
1434
查看次数

在django Web应用程序中实现"上次看到"功能的最佳方法是什么?

我有一个正在运行的django/apache2 + memcached应​​用程序(ubuntu),并希望跟踪登录的在线用户.

追踪这个的最佳方法是什么?

每次登录用户加载页面时,我宁愿不写入数据库; 但还有其他选择吗?

python django apache2

7
推荐指数
1
解决办法
1082
查看次数

如何在接收信号时使django模板缓存密钥到期?

在我的首页模板中,我使用缓存函数,如下所示:

{% cache 86400 my_posts %}
    {% get_latest_posts %}
{% endcache %}
Run Code Online (Sandbox Code Playgroud)

当有新帖子时我想使缓存密钥失效; 像这样:

def clear_post_cache():
    cache.delete('my_posts')

post_save.connect(clear_post_cache, sender=Post)
Run Code Online (Sandbox Code Playgroud)

我的问题是缓存键不能作为'my_posts'访问.如何找到密钥名称?

django templates caching

6
推荐指数
1
解决办法
2324
查看次数

"编程集体智慧"中的皮尔逊算法有什么问题?

这个函数来自"编程集体智慧"一书,并且应该计算p1和p2的Pearson相关系数,它应该是介于-1和1之间的数字.

如果两个评论家对项目的评价非常相似,那么函数应该返回1,或接近1.

有了真实的用户数据,我有时会得到奇怪的结果.在以下示例中,数据集critics2应返回1 - 而不是返回0.

有没有人发现错误?

(这不是"编程集体智慧"中这个python函数什么问题的重复)

from __future__ import division
from math import sqrt

def sim_pearson(prefs,p1,p2):
    si={}
    for item in prefs[p1]: 
        if item in prefs[p2]: si[item]=1
    if len(si)==0: return 0
    n=len(si)
    sum1=sum([prefs[p1][it] for it in si])
    sum2=sum([prefs[p2][it] for it in si])
    sum1Sq=sum([pow(prefs[p1][it],2) for it in si])
    sum2Sq=sum([pow(prefs[p2][it],2) for it in si]) 
    pSum=sum([prefs[p1][it]*prefs[p2][it] for it in si])
    num=pSum-(sum1*sum2/n)
    den=sqrt((sum1Sq-pow(sum1,2)/n)*(sum2Sq-pow(sum2,2)/n))
    if den==0: return 0
    r=num/den
    return r

critics = {
    'user1':{
        'item1': 3,
        'item2': 5,
        'item3': 5, …
Run Code Online (Sandbox Code Playgroud)

python algorithm pearson

5
推荐指数
1
解决办法
2714
查看次数

如何让django的降价过滤器将回车转换为<br />?

如何更改降价滤镜中的默认行为,以便将换行符转换为br标记?

python django markdown

5
推荐指数
2
解决办法
4810
查看次数

这个来自"编程集体智慧"的python函数出了什么问题?

这是有问题的功能.它计算p1和p2的Pearson相关系数,它应该是介于-1和1之间的数字.

当我将它与真实用户数据一起使用时,它有时会返回一个大于1的数字,如下例所示:

def sim_pearson(prefs,p1,p2):
    si={}
    for item in prefs[p1]: 
        if item in prefs[p2]: si[item]=1

    if len(si)==0: return 0

    n=len(si)

    sum1=sum([prefs[p1][it] for it in si])
    sum2=sum([prefs[p2][it] for it in si])

    sum1Sq=sum([pow(prefs[p1][it],2) for it in si])
    sum2Sq=sum([pow(prefs[p2][it],2) for it in si]) 

    pSum=sum([prefs[p1][it]*prefs[p2][it] for it in si])

    num=pSum-(sum1*sum2/n)
    den=sqrt((sum1Sq-pow(sum1,2)/n)*(sum2Sq-pow(sum2,2)/n))

    if den==0: return 0

    r=num/den

    return r

critics = {
    'user1':{
        'item1': 3,
        'item2': 5,
        'item3': 5,
        },

    'user2':{
        'item1': 4,
        'item2': 5,
        'item3': 5,
        }
}

print sim_pearson(critics, 'user1', 'user2', )

1.15470053838
Run Code Online (Sandbox Code Playgroud)

python algorithm pearson

4
推荐指数
1
解决办法
660
查看次数

这个Django查询可以改进吗?

给定这样的模型结构:

class Book(models.Model):
    user = models.ForeignKey(User)

class Readingdate(models.Model):
    book = models.ForeignKey(Book)
    date = models.DateField()
Run Code Online (Sandbox Code Playgroud)

一本书可能有几本书Readingdate.

如何列出Readingdate特定年份内至少有一本书?

我可以做这个:

from_date = datetime.date(2010,1,1)
to_date = datetime.date(2010,12,31)

book_ids = Readingdate.objects\
            .filter(date__range=(from_date,to_date))\
            .values_list('book_id', flat=True)

books_read_2010 = Book.objects.filter(id__in=book_ids)
Run Code Online (Sandbox Code Playgroud)

是否可以使用一个查询集执行此操作,还是这是最好的方法?

python django

3
推荐指数
1
解决办法
92
查看次数

计算垃圾邮件概率

我正在python/django建立一个网站,想要预测用户提交是否有效或者是垃圾邮件.

用户对其提交的内容具有接受率,如本网站所示.

用户可以审核其他用户的提交内容; 这些调节后来由管理员进行元模式化.

鉴于这种:

  • 提交接受率为60%的注册用户A提交了一些内容.
  • 用户B将A的帖子作为有效提交进行审核.但是,用户B在70%的时间内都是错误的.
  • 用户C将A的帖子视为垃圾邮件.用户C通常是对的.如果用户C说某些内容是垃圾邮件/没有垃圾邮件,则80%的时间都是正确的.

如何预测A的帖子被垃圾邮件的可能性?

编辑:我制作了一个模拟这种情况的python脚本:

#!/usr/bin/env python

import random

def submit(p):
    """Return 'ham' with (p*100)% probability"""
    return 'ham' if random.random() < p else 'spam'

def moderate(p, ham_or_spam):
    """Moderate ham as ham and spam as spam with (p*100)% probability"""
    if ham_or_spam == 'spam':
        return 'spam' if random.random() < p else 'ham'
    if ham_or_spam == 'ham':
        return 'ham' if random.random() < p else 'spam'

NUMBER_OF_SUBMISSIONS = 100000 
USER_A_HAM_RATIO = 0.6 # Will submit 60% ham
USER_B_PRECISION = …
Run Code Online (Sandbox Code Playgroud)

probability bayesian

3
推荐指数
1
解决办法
854
查看次数

在Python中返回不在第二个列表中的列表元素的更有效方法是什么?

在python中有更快的方法吗?

[f for f in list_1 if not f in list_2]
Run Code Online (Sandbox Code Playgroud)

list_1和list_2都包含大约120,000个字符串.生成新列表大约需要4分钟.

python

1
推荐指数
1
解决办法
127
查看次数