小编dcr*_*sta的帖子

如何构建一个小型程序的迷你网络互相馈送数据?

我正在尝试模拟一个实时网络,其中节点是消费者和不同费率的生产者.我如何使用Python快速实现此示例?我想象我会为每个节点编写一个简单的程序,但我不确定如何将它们相互连接.

python simulation

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

CookieError:非法键值

我使用web.py,它在内部使用cookie.SimpleCookie该类来加载从用户浏览器传入的cookie.

偶尔,我得到例外:

...
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/Cookie.py", line 455, in set
    raise CookieError("Illegal key value: %s" % key)
CookieError: Illegal key value: SinaRot/g/news.sina.com.cn
Run Code Online (Sandbox Code Playgroud)

违规字符似乎是正斜杠(/),根据我对RFC 2109(cookies)和RFC 2068(HTTP 1.1)的读取, 应该是不允许的,所以没关系.

我没有设置这个cookie,我不确定为什么或如何设置我的域(代理,也许?),但这是无关紧要的; 更大的问题是,当遇到这个cookie时,simplecookie会失败,并向用户返回错误.

所以,我的问题是:有没有办法要求SimpleCookie简单地忽略无效的cookie,但返回其余的?我在文档中找不到任何明显的东西来做到这一点.

python cookies web.py

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

是否有可能从Python获得内存使用的"高水位线"?

(C)Python中是否有任何方法可以检查进程的当前内存使用情况?特别是,我想在测试脚本中确定内存使用的高水位标记,但如果有必要,我不介意定期检查内存使用情况并为自己计算高水位线.

编辑:我正在寻找一个纯python解决方案,或在OS X上工作的东西.

python macos memory-management

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

为什么"except"中的未定义名称没有引发NameError?

今天我很惊讶地看到以下工作没有例外(至少在Python 2.7.3中):

>>> try:
...     pass
... except ThingThatDoesNotExist:
...     print "bad"
...
>>>
Run Code Online (Sandbox Code Playgroud)

我本以为这应该NameError在REPL中引发一个,类似于以下内容:

>>> x = ThingThatDoesNotExist
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'ThingThatDoesNotExist' is not defined
Run Code Online (Sandbox Code Playgroud)

任何人都知道这里发生了什么?

python

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

如何在web.py中删除/取消设置cookie

在web.py中,您可以访问请求的cookie web.webapi.cookies(),并且可以设置cookie的值web.webapi.setcookie(...).关于如何删除 cookie 的文档并不清楚,但是 - 你setcookie的值是否为None?

python cookies web.py

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

如何在dygraphs中设置特定的y轴标签点?

Dygraphs通常根据轴的大小,标签的大小等自动选择Y-(和X-)轴标记点.在某些情况下,它会选择标记点,导致清晰度降低.例如,在Y轴值为0到10的图表上,它标记为0,4和8(至少对于特定尺寸的图表); 我希望它标记为0,5和10.是否有一个选项或功能我可以提供给Dygraphs来指定我想要标记和勾选的点?

dygraphs

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

"迭代"函数的返回值

假设我有一个函数来查询一些外部有状态服务并从中返回一个值,为简单起见,我们假设该值是一个整数:

i = 10
def foo():
    global i
    i -= 1
    return i
Run Code Online (Sandbox Code Playgroud)

很明显,我可以在它返回一个假值之前调用这个函数9次(第10次调用将返回0,它将在布尔上下文中计算为false).有了一些以这种方式工作的函数,我现在可以通过将它包装在生成器中来"迭代"它:

def take_while_truthy(func):
    while True:
        nextval = func()
        if not nextval: 
            break
        yield nextval
Run Code Online (Sandbox Code Playgroud)

然后:

for x in take_while_truthy(foo):
    print x
Run Code Online (Sandbox Code Playgroud)

给我:

9
8
[...]
2
1
Run Code Online (Sandbox Code Playgroud)

我的问题是:标准库中的某个地方是否有高阶函数可以执行此操作或类似的操作?我浏览了itertoolsfunctools,但没有发现任何我想做的事情.我错过了什么吗?

python

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

如何在pymongo中使用find_one获取最新记录

我有一个现有的程序,我正在尝试获取最后插入的文件,该文件与pymongo中aws_account_id使用的密钥相匹配find_one.

我正在使用此查询来执行提取:

report = securitydb.scout.find_one({'aws_account_id': aws_account.account_number})
Run Code Online (Sandbox Code Playgroud)

但是此查询返回错误的文档.下图显示了我得到的预期结果和错误的结果.

在此输入图像描述

在图像中,两个文档都具有相同的aws_account_id,但最后插入了红色文档.所以预期的结果是红色标记的文件,但它拉出黄色标记的文件.

我不确定我是否需要使用排序或类似的东西.我得到了一些解决方案,但这些都是基于纯mongo查询.我需要帮助用pymongo这样做.

谢谢提前,罗宾

python mongodb pymongo

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

在使用Django QuerySets时使用列表解析而不是for循环

我正在尝试调整速度部门遇到的应用程序.因此,我已经开始将所有for-loop语句转换为列表推导.

目前,我正在研究一个需要遍历Django查询集字典的函数.旧代码使用for循环语句来迭代这个并且它工作正常.我使用列表推导的代码返回django查询集而不是我的模型对象.

这是代码:

def get_children(parent):
  # The following works
  children = []
  for value in get_data_map(parent).itervalues():
    children += list(value)
  # This part doesn't work as intended.
  booms = [value for value in get_data_map(parent).itervalues() if value]
  import pdb
  pdb.set_trace()


(Pdb) type(children[0])
<class 'site.myapp.models.Children'>

(Pdb) type(booms[0])
<class 'django.db.models.query.QuerySet'>
Run Code Online (Sandbox Code Playgroud)

请注意,get_data_map返回值为的字典 <class 'django.db.models.query.QuerySet'>

这部分代码是应用程序中最耗时的部分之一.如果我将这个工作放在列表推导上,那么应用程序的速度有望提高两倍.

知道如何加快这部分代码的速度吗?

python django list-comprehension list django-queryset

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

python web.py表单 - 没有任何价值

我正在测试web.py和表单,但我无法获得任何回报.这是代码:

import web
from web import form
class add:
    def GET(self):
        f = login()
        return render.formtest(f)

    def POST(self): 
        f = login()
        print f["ip"].value
        return render.formpost(f)

render = web.template.render('templates/')      
login = form.Form(
    form.Textbox("ip", id="ip"),
    form.Textbox('snmp_community'),
)

urls = ( '/','index', '/add', 'add')
app = web.application(urls,globals())
if __name__ == "__main__": app.run()
Run Code Online (Sandbox Code Playgroud)

我按照这个例子:http://webpy.org/form但是当我打印f ["ip"].value或fdip的值时,我总是得到"无".

感谢您的帮助.

python forms web.py

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

如何在django中比较两个模型字段?

我在我的Models.py文件中有这个模型.我想比较"start_date"和"end_date",以便start_date值永远不会大于end_date或者反之亦然.我如何进行此验证?

class Completion(models.Model):

    start_date = models.DateField()
    end_date = models.DateField()
    batch = models.ForeignKey(Batch)
    topic = models.ForeignKey(Topic)
Run Code Online (Sandbox Code Playgroud)

django django-models django-admin

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