小编nkr*_*rkv的帖子

突出显示python堆栈跟踪

我正在研究相当复杂的项目,一次又一次,我必须缩小查看堆栈跟踪的问题.它们恰好很长,同时涉及"我的"代码,标准库代码和第三方库代码.大多数时候,真正的问题是在"我的"代码中并立即将其定位在堆栈跟踪中对于眼睛来说有点困难.在"我的"代码下,我指的是当前工作目录下的代码.

所以我意识到我想要一些能够使堆栈轨迹着色并突出显示我的线条的东西.比较原始突出显示.

我可以写一个我可以用这种方式使用的python脚本:

nosetests | colorize_stack_trace.py
Run Code Online (Sandbox Code Playgroud)

但我相信使用Linux工具集可以更快,更优雅地完成此任务.有任何想法吗?

UPD:

使用Dennis Williamson建议的supercat,中间结果是遵循bash函数:

pyst() {
    rc=/tmp/spcrc;
    echo '#################### ### # # # ########################################' > $rc;
    echo '                     blk   0 r ^(.*)$' >> $rc;
    echo '                     mag b 0 r ^\s*File "'`pwd`'/(.*)"' >> $rc;
    spc -c $rc;
}
Run Code Online (Sandbox Code Playgroud)

现在我能做到:

nosetests 2>&1 | pyst
Run Code Online (Sandbox Code Playgroud)

不太优雅,但在某种程度上起作用.还有两个问题:

  1. 在测试完成之前我看不到任何输出.即我看不到进展.
  2. 我必须一遍又一遍地写2>&1.

UPD 2:

问我这个问题主要nosetests是考虑到了.我刚刚找到了很好的解决方案:rednose nose plugin.它突出了本地路径以及更多方便可读性的东西.

回到原始问题:我用supercat注意到的问题与它完全无关,但它是Unix shell流,刷新,管道,重定向的问题.因此,作为一个答案的问题我接受建议supercat答案.

python debugging bash

25
推荐指数
3
解决办法
3443
查看次数

用于网格布局的UL + CSS

我有一个服务器生成的HTML,如:

<ul>
    <li><!-- few nested elements that form a block --></li>
    <li><!-- few nested elements that form anaother block --></li>
    <li><!-- etc, X times --></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

所有块都已知宽度为200px且未知高度.我希望<li>像这样以表格式的方式安排:

替代文字

我现在拥有的是跟随css:

li {
    display: block;
    width: 200px;
    float: left;
    margin: 10px;
}
Run Code Online (Sandbox Code Playgroud)

一切都很好,除了列没有达到相同的高度.在上面的例子中,第4块"抢夺"#1,结果不是我想要实现的:

替代文字

是否有任何纯CSS跨浏览器方式允许我想要的网格布局,并且不会强制执行标记更改?

html css layout

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

使用W3C有效徽章有什么意义?

我在谈论这些.

替代文字 替代文字 替代文字

是的,我知道它们旨在表明该页面符合标准,并应链接到页面重新验证服务.好.但为什么我作为普通用户会为此烦恼呢?作为访问者,我对页面是否是严格的XHTML无动于衷,是否包含脏IE浏览器黑客攻击.页面呈现正确,方便且快速运行非常重要.就这样!实际上,在许多情况下,这些要求并不能顺利地符合W3C标准.

那么将针对开发人员的东西添加到产品中的狂热是什么?我错过了一点吗?

html css validation w3c

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

一次发送数千封电子邮件,陷阱/最佳方式?

我正在编写一个工具c#(和System.Net.Mail),它将发送大约4000封电子邮件.

我可以简单地遍历4000个电子邮件地址列表并一次发送一封电子邮件吗?或者这会导致任何潜在的问题吗?

有一个更好的方法吗?

谢谢

c# email email-spam

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

使用ZeroMQ订阅身份验证

我很难理解ZeroMQ消息系统,所以在我潜入之前,我想知道是否有人知道我想做什么甚至是可能的.

我想设置一个带有ZeroMQ的pubsub服务器,它将发布某些数据流并订阅其中一些流,用户必须进行身份验证才能看到他们是否可以访问这些流.我见过的所有内容都使用zmq.SUBSCRIBE命令进行订阅.

可以修改以进行身份​​验证吗?是否支持开箱即用?

authentication message-queue zeromq

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

为什么python list slice赋值会占用内存?

我正在与Python项目中的内存泄漏作斗争并且已经花了很多时间在它上面.我把这个问题推到了一个小例子.现在看来我知道解决方案,但我无法理解为什么.

import random

def main():
    d = {}
    used_keys = []
    n = 0
    while True:
        # choose a key unique enough among used previously
        key = random.randint(0, 2 ** 60)
        d[key] = 1234 # the value doesn't matter
        used_keys.append(key)
        n += 1
        if n % 1000 == 0:
            # clean up every 1000 iterations
            print 'thousand'
            for key in used_keys:
                del d[key]
                used_keys[:] = []
                #used_keys = []

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

我的想法是在dict中存储一些值d并记住列表中使用的键,以便能够不时清理dict.

程序的这种变化充满信心地使记忆永远不会回来.如果我使用替代方法"清除" …

python memory memory-leaks memory-management

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

复选框内的锚点击行为

请考虑以下代码段:

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
    </head>
    <body>
        <form>
            <a id="a" href="http://google.com">Goooooogle</a>
        </form>
        <script>
            $(function() {
                var checkbox = $('<input type="checkbox"></input>');
                checkbox.prependTo($('#a'));
                checkbox.click(function(e) {
                    e.stopPropagation();
                    // do something useful
                });
            });
        </script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我想在里面找到一个复选框<a>,并获得以下点击行为:

  1. 像往常一样正常切换复选标记
  2. 做一些有用的事情,比如AJAX请求
  3. 留在这个页面,即不被重定向到 a href

此外,如果我单击任何位置a,但我不希望覆盖默认行为,而不是复选框.即我想允许执行与aclick本身相关的所有事件处理程序.

我认为这应该很容易,但我不能得到理想的行为.或者:

  • 如果我提供了代码,我会被重定向到Google.
  • 如果我使用e.preventDefault(),我不会切换复选标记return false;.此外,在该情况下,复选框忽略显式checkbox.attr('checked', 'checked')和所有其他可能的方式来设置复选标记.

捕获量在哪里?

UPD:这在Chrome中按预期工作,例如我没有在点击时重定向,但在Firefox中失败.有跨浏览器的方式吗?

javascript checkbox jquery event-bubbling

6
推荐指数
3
解决办法
8728
查看次数

触摸键入大写字母标识符

大约半年前,我决定提高编程效率,所以我学会了触摸打字并转向Vim.一切都很好,我觉得自己比以前好多了.然而,有一个问题让我一直都很烦恼:我该如何触摸IDENTIFIERS_WRITTEN_IN_CAPS

  • 如果我将按所有规则使用轮班,我将不得不经常转手.试图输入GOOGLE这种情况是一个挑战.
  • 如果我将一直使用左移,我会失去左手的物理记忆而无法盲目找到钥匙.
  • 如果我使用大写锁定,我必须记得释放它.在Vim中遗忘这将导致命令模式中的启示.此外,许多重映射大写锁定其他东西,如Esc或键盘布局切换.

你如何触摸打字员处理SQL,Makefiles,Win API,DirectX以及需要打印的所有内容?

vim performance touch-typing editing

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

嵌套在函数和属性查找中的类

以下工作正常,即它没有给出任何错误:

def foo(arg):
    class Nested(object):
        x = arg

foo('hello')
Run Code Online (Sandbox Code Playgroud)

但以下引发异常:

def foo(arg):
    class Nested(object):
        arg = arg # note that names are the same

foo('hello')
Run Code Online (Sandbox Code Playgroud)

追溯:

Traceback (most recent call last):
  File "test.py", line 6, in <module>
    foo('hello')
  File "test.py", line 3, in foo
    class Nested(object):
  File "test.py", line 4, in Nested
    arg = arg
NameError: name 'arg' is not defined
Run Code Online (Sandbox Code Playgroud)

我无法理解这种行为的原因.有人可以解释一下吗?

python nested class

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

在URL中匹配点时奇怪的Django行为

如果我有以下url conf:

urlpatterns = patterns('',
    url(r'^projects-json$', 'projects.views.list'),
)
Run Code Online (Sandbox Code Playgroud)

我去/projects-jsonURL解析很好.请注意,没有斜杠.

但是我想要一个点,而不是URL中的连字符,所以我用这种方式重写url conf:

urlpatterns = patterns('',
    url(r'^projects\.json$', 'projects.views.list'),
)
Run Code Online (Sandbox Code Playgroud)

现在,如果我去,/projects.json我会被重定向到/projects.json/并获得404作为后果!如果我在url模式中添加一个尾部斜杠,我将在带有尾部斜杠的URL处获得OK响应.但我只想要一个简单的事情:匹配/projects.json没有任何重定向和斜线.Django可以这样做吗?我已经失去了很多时间来解决这个原始问题.谁能发现错误?

settings.APPEND_SLASH = False.但看起来没关系.以防万一它可能很重要:

MEDIA_ROOT = ''
MEDIA_URL = '/media/'
ADMIN_MEDIA_PREFIX = '/admin-media/'
Run Code Online (Sandbox Code Playgroud)

python django django-urls

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