小编ola*_*ndo的帖子

不在python中的正确包中时不会被捕获的异常

编辑:好的,我设法隔离了错误和完整的代码来重现它.但它似乎是设计的东西,或python中的错误.

创建两个邻近的包:admin&General,每个都有它自己的__init__.py,当然.在包admin中将文件'test.py'与以下代码放在一起:

from General.test02 import run
import RunStoppedException
try:
    run()
except RunStoppedException.RunStoppedException,e:
    print 'right'
except Exception,e:
    print 'this is what i got: %s'%type(e)
Run Code Online (Sandbox Code Playgroud)

admin使用以下代码放入文件'RunStoppedException.py':

class RunStoppedException(Exception):
    def __init__(self):
        Exception.__init__(self)
Run Code Online (Sandbox Code Playgroud)

在包General中将文件test02.py与代码放在一起:

import admin.RunStoppedException
def run():
    raise admin.RunStoppedException.RunStoppedException()
Run Code Online (Sandbox Code Playgroud)

打印输出:

this is what i got: <class 'admin.RunStoppedException.RunStoppedException'>
Run Code Online (Sandbox Code Playgroud)

什么时候应该right.仅当一个文件与异常位于同一目录中时才会发生这种情况,因此它们以不同方式导入它.

这是设计,还是python的bug?

我正在使用python2.6,在eclipse + pydev下运行它

python exception package

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

如何在python中为新功能提出建议

假设我认为我对python的标准库中应该有的一些功能有很好的想法.不是新关键字等大小的东西,只是对另一个装饰器的建议,这将有很大帮助,IMO.

我怎样才能建议考虑"python委员会:)"这样的功能?

python pep

4
推荐指数
2
解决办法
476
查看次数

在线程内进行cProfile配置文件调用?

我在一些代码上运行了cprofile,其中包括执行大部分工作的几个线程.当我查看分析的输出时,我看到没有记录在线程内调用的所有函数.我确信他们被称为,因为他们做的事情很容易看到,如写入数据库等.

cProfile不会分析线程吗?我错过了什么吗?

python multithreading cprofile

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

Matlab:将全局坐标转换为图形坐标

如果我得到坐标

coords = get(0,'PointerLocation');
Run Code Online (Sandbox Code Playgroud)

如何将它们转换为通过点获得的积分ginput

即,我想从中得到相同的值

coords = get(0,'PointerLocation');
coords=someConversion(coords);
Run Code Online (Sandbox Code Playgroud)

正如我本来打电话的那样

coords=ginput(1);
Run Code Online (Sandbox Code Playgroud)

然后在与前一位代码相同的位置点击图中的鼠标.

matlab coordinates

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

如何在matlab中在同一窗口中绘制几个图形

我想在Matlab中绘制几个图形,以便它们在同一窗口内彼此相邻("图"是正确的术语?).它是如何实现的?

matlab plot

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

2D网格的纹理贴图

[x,y]=meshgrid(1:N,1:M)在常规2D N x M网格上定义了一组点.我有另一组点[u,v]是原始网格的一些变形,即[u,v]=f(x,y)'(但是我没有实际f导致变形的点).如何将纹理映射到由" u,v?"定义的"变形"网格?即,如果给出具有宽高比的图像,N/M我该如何将其映射到变形网格?

matlab texture-mapping

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

python中的装饰器与调用函数的函数完全相同吗?

我以为这样做

@f
def g():
   print 'hello'
Run Code Online (Sandbox Code Playgroud)

与...完全相同

def g():
   print 'hello'
g=f(g)
Run Code Online (Sandbox Code Playgroud)

但是,我有这个代码,它使用contextlib.contextmanager:

@contextlib.contextmanager
def f():
    print 1
    yield
    print 2
with f:
    print 3
Run Code Online (Sandbox Code Playgroud)

有效和收益 1 3 2

当我试图改变它

def f():
    print 1
    yield
    print 2
f=contextlib.contextmanager(f)
with f:
    print 3
Run Code Online (Sandbox Code Playgroud)

我明白了 AttributeError: 'function' object has no attribute '__exit__'

我错过了什么?在contextlib.contextmanager中是否有一些黑魔法,或者我是否误解了装饰器的工作原理?

python decorator contextmanager

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

matlab - 绘制具有插值颜色的2D矩形

我想绘制一个2d rect(使用该rectangle函数足以满足我的需要),但是使用线性插值颜色,即在底部它应该是红色,在顶部蓝色,并且在两者之间应该有线性插值这两种颜色.我怎样才能做到这一点?

matlab plot interpolation colors

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

django表单 - 删除"提交"按钮

我有一个简单的表单,可以选择一个选项(单选按钮).选择后,表单会自动提交(使用onchange属性):

class MyForm(forms.Form):
      choices=forms.ChoiceField( widget=forms.RadioSelect(attrs={'onchange': 'this.form.submit();'}), choices=[(k,k) for k in options],label="choose one")
Run Code Online (Sandbox Code Playgroud)

这很好,唯一的问题是我在表单的底部仍然有"提交"按钮.是否有可能在没有创建模板的情况下以某种方式使表单呈现而没有提交按钮?

forms django submit

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

django在渲染表单时转义小部件

我创建了一个自定义窗口小部件和一个使用它的窗体.以前,我只是有一个简单的模板来显示我调试时的表单:

<form>
    {{ run_form.as_p }}
</form>
Run Code Online (Sandbox Code Playgroud)

现在我想将每个表单字段括在div中,所以我将模板更改为

{% for field in form %}
      <div class="fieldWrapper">
           {{ field.errors }}
           {{ field.label_tag }}: {{ field }}
      </div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

但现在看来,当我的字段被渲染时,它的所有字符都被html转义,所以现在当我查看它的源代码时,它看起来就像&lt;input type=&quot;text&quot; id=&quot;id_scriptscrap&quot;/&gt应该存在的地方 <input type="text" id="id_scriptscrap"/>.

有什么我想念的吗?为什么第一个模板会在没有转义的情况下输出它,而第二个模板会逃脱?也许我在创建自定义窗口小部件类时做错了什么?

django escaping widget

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