小编cdl*_*ary的帖子

我应该在Python中针对坏/非法参数组合提出哪个例外?

我想知道在Python中指示无效参数组合的最佳实践.我遇到过一些你有这样功能的情况:

def import_to_orm(name, save=False, recurse=False):
    """
    :param name: Name of some external entity to import.
    :param save: Save the ORM object before returning.
    :param recurse: Attempt to import associated objects as well. Because you
        need the original object to have a key to relate to, save must be
        `True` for recurse to be `True`.
    :raise BadValueError: If `recurse and not save`.
    :return: The ORM object.
    """
    pass
Run Code Online (Sandbox Code Playgroud)

唯一令人烦恼的是,每个包装都有自己的,通常略有不同BadValueError.我知道在Java中存在java.lang.IllegalArgumentException- 是否很好理解每个人都将BadValueError在Python中创建自己的s或者是否有另一种首选方法?

python arguments exception

496
推荐指数
6
解决办法
20万
查看次数

Vim 80列布局问题

我觉得我在Vim中做80列指示的方式不正确:set columns=80.有时我也是,set textwidth但我希望能够看到并预测线路溢出的set columns替代方案.

这有一些不幸的副作用 - 我不能set number因为害怕在具有不同行号顺序的文件之间进行拆分; 即<100行文件和> = 100行文件将需要两个不同的set columns值,因为附加数字显示使用了额外的列.我也开始新的(g)Vim会话而不是垂直分割窗口,这迫使我使用窗口管理器的剪贴板 - 每次打开或关闭窗格时都vsplit强制我这样做set columns,所以开始一个新的会话就不那么麻烦了.

当你想要set numbers,垂直分割等时,你如何处理80个字符的指示?

vim coding-style

412
推荐指数
11
解决办法
24万
查看次数

使用Python'with'语句时捕获异常

令我遗憾的是,我无法弄清楚如何处理python'with'语句的异常.如果我有一个代码:

with open("a.txt") as f:
    print f.readlines()
Run Code Online (Sandbox Code Playgroud)

我真的想处理'文件未找到异常'以便进行处理.但我不能写

with open("a.txt") as f:
    print f.readlines()
except:
    print 'oops'
Run Code Online (Sandbox Code Playgroud)

并且不能写

with open("a.txt") as f:
    print f.readlines()
else:
    print 'oops'
Run Code Online (Sandbox Code Playgroud)

在try/except语句中包含'with'不起作用:不引发异常.为了以Pythonic方式处理'with'语句内部的失败,我该怎么办?

python exception-handling

258
推荐指数
4
解决办法
16万
查看次数

在Python中使用多处理时应该如何记录?

现在我在框架中有一个中央模块,它使用Python 2.6 multiprocessing模块生成多个进程.因为它使用multiprocessing,所以有模块级多处理感知日志,LOG = multiprocessing.get_logger().根据文档,这个记录器具有进程共享锁,因此您不会sys.stderr通过让多个进程同时写入来解决问题(或任何文件句柄).

我现在遇到的问题是框架中的其他模块不支持多处理.我看到它的方式,我需要使这个中央模块的所有依赖使用多处理感知日志记录.这框架很烦人,更不用说框架的所有客户了.我有没有想到的替代方案?

python logging multiprocessing

213
推荐指数
11
解决办法
11万
查看次数

如何在JavaScript中创建自定义错误?

出于某种原因,看起来构造函数委派在以下代码段中不起作用:

function NotImplementedError() { 
  Error.apply(this, arguments); 
}
NotImplementedError.prototype = new Error();

var nie = new NotImplementedError("some message");
console.log("The message is: '"+nie.message+"'")
Run Code Online (Sandbox Code Playgroud)

运行这个给出The message is: ''.有关为什么,或者是否有更好的方法来创建新Error子类的任何想法?是否存在我不知道apply的本机构Error造函数的问题?

javascript exception

200
推荐指数
10
解决办法
13万
查看次数

g ++ undefined对typeinfo的引用

我只是遇到了以下错误(并在线找到了解决方案,但它在Stack Overflow中不存在):

(.gnu.linkonce.[stuff]):对[方法] [目标文件]的未定义引用:(.gnu.linkonce.[stuff]):对[classname]的`typeinfo的未定义引用

为什么可能会得到这些"未定义的typeinfo引用"链接器错误之一?

(如果你能解释幕后发生的事情,可以给予奖励.)

c++ linker g++

195
推荐指数
11
解决办法
16万
查看次数

为什么Python的原始字符串文字不能以单个反斜杠结尾?

从技术上讲,任何奇数个反斜杠,如文档所述.

>>> r'\'
  File "<stdin>", line 1
    r'\'
       ^
SyntaxError: EOL while scanning string literal
>>> r'\\'
'\\\\'
>>> r'\\\'
  File "<stdin>", line 1
    r'\\\'
         ^
SyntaxError: EOL while scanning string literal
Run Code Online (Sandbox Code Playgroud)

似乎解析器可以将原始字符串中的反斜杠视为常规字符(不是原始字符串的全部内容吗?),但我可能遗漏了一些明显的东西.TIA!

python string literals rawstring

157
推荐指数
6
解决办法
7万
查看次数

C++ map访问丢弃限定符(const)

以下代码表示将map传递constoperator[]方法会丢弃限定符:

#include <iostream>
#include <map>
#include <string>

using namespace std;

class MapWrapper {
public:
    const int &get_value(const int &key) const {
        return _map[key];
    }

private:
    map<int, int> _map;
};

int main() {
    MapWrapper mw;
    cout << mw.get_value(42) << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是因为地图访问中可能出现的分配吗?没有地图访问的函数可以声明为const吗?

MapWrapper.cpp:10: error: passing ‘const std::map<int, int, std::less<int>, std::allocator<std::pair<const int, int> > >’ as ‘this’ argument of ‘_Tp& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key = int, _Tp = int, _Compare = std::less<int>, _Alloc …

c++ maps stl const

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

如何使用jQuery取消设置元素的CSS属性?

如果我使用以下方法在特定元素上设置CSS值:

$('#element').css('background-color', '#ccc');
Run Code Online (Sandbox Code Playgroud)

我希望能够取消设置特定于元素的值并使用级联值,如下所示:

$('#element').css('background-color', null);
Run Code Online (Sandbox Code Playgroud)

但是这种语法似乎不起作用 - 这是否可以使用另一种语法?

提前致谢!

编辑:该值不是从父元素继承的 - 原始值来自元素级选择器.对不起任何混乱!

css jquery

87
推荐指数
3
解决办法
5万
查看次数

什么时候应该使用单例模式而不是静态类?

在决定使用单例与静态类之间进行设计考虑.在这样做时,你有点被迫对比这两者,所以无论你能想出什么对比,都有助于展示你的思考过程!此外,每位采访者都喜欢看到说明性的例子.:)

design-patterns

85
推荐指数
5
解决办法
5万
查看次数