小编Pav*_*ban的帖子

使用dictConfig在python中的日志记录级别安装过滤器

我无法使用dictConfig()语法在日志记录处理程序上安装过滤器.LoggingErrorFilter.filter()简直被忽略,没有任何反应.

我想过滤掉错误消息,以便它们不会在日志输出中出现两次.所以我写了LoggingErrorFilter课并且过度了filter().

我的配置:

class LoggingErrorFilter(logging.Filter):
  def filter(self, record):
    print 'filter!'
    return record.levelno == logging.ERROR or record.levelno == logging.CRITICAL

config = {
      'version': 1,
      'disable_existing_loggers' : False,
      'formatters' : {
        'standard' : {
          'format' : '%(asctime)s %(levelname)s %(name)s::%(message)s',
        },
      },
      'handlers' : {
        'console': {
          'class' : 'logging.StreamHandler',
          'level' : level,
          'formatter' : 'standard',
          'stream' : 'ext://sys.stdout',
        },
        'errorconsole': {
          'class' : 'logging.StreamHandler',
          'level' : 'ERROR',
          'formatter' : 'standard',
          'stream' : 'ext://sys.stderr',
          'filters' …
Run Code Online (Sandbox Code Playgroud)

python logging python-2.7

23
推荐指数
2
解决办法
6367
查看次数

静态结构与静态成员

今天我发现自己创建了一个2个整数的静态数组,并且因为它在C++(而不是C++ 11)中不允许使用内联初始化,所以我还是使用了struct类型的静态变量.

class MyWidget {
  ...
  static const struct Margin {
    const int horizontal = 1;
    const int vertical = 1;
  } margin;

};
Run Code Online (Sandbox Code Playgroud)

我注意到内部变量只对struct Margin的所有实例使用一次,所以我决定让它们也是静态的.

class MyWidget {
  ...
  static const struct Margin {
    static const int horizontal = 1;
    static const int vertical = 1;
  } margin;

};
Run Code Online (Sandbox Code Playgroud)

让我感到奇怪的是,使用静态成员声明静态结构变量与静态结构变量之间的区别.AFAC静态对象在内存中只分配一次,因此无论我的成员是否为静态,Margin结构都只会被分配一次.

我错过了什么吗?是否存在差异或仅仅是语法糖?

c++ static struct

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

Qt:QWebview没有在其他机器上显示jpg,gif,png图像

今天我遇到了一个非常奇怪的错误QWebView,我无法解决自己.

QWebView在应用程序中包含了一个小部件.当我设置要显示的URL或一段HTML代码(带QWebView::setUrl()QWebView::setHtml())时,它在我的机器上运行良好.它也适用于安装了Qt的所有机器,但不适用于没有安装Qt的机器.我编译了一个发布版本并包含了所有必需的库作为共享(QtWebKit4.dll,QtNetwork4.dll等),所以我想我的错误在于我忘了包含一些库.

如果有人已经有这样的错误,我将非常感谢您的帮助!

qt release qt4 qtwebkit qwebview

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

Intersect 2列表,将结果存储在python中的元组中

我认为我所拥有的是一个常见的问题,但我无法在Google或SO中找到任何帮助.

我有2个包含类对象的列表Marker.A Marker由变量组成name,positiontype.我希望与两个列表相交,创建相同类型的标记元组并将它们存储在新列表中.从字面上讲,我想做类似以下的事情:

g_markerList = [ (marker1,marker2) for marker1 in marker1List and marker2 in marker2List if marker1.type == marker2.type ]
Run Code Online (Sandbox Code Playgroud)

显然,这段代码不起作用.编译器不会"知道"变量marker2跟随and,这结束了该for子句.

请帮我交叉这两个列表,并获得类似标记的元组列表!

python tuples list

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

没有特定字符集的默认DICOM编码

如果DICOM文件没有定义a Specific Character Set (0008,0005),默认情况下它使用什么字符集?ASCII是DICOM文件的默认编码吗?

TL; DR

DICOM文件在其中一个标记中包含德语ä,但该文件未指定任何字符集.我假设在这种情况下,文件只允许包含ASCII符号(默认字符集),并将此文件报告为无效.在我提交更改之前,我想确保我正确理解DICOM.

encoding dicom character-encoding

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

QMAKE*.pro-file:在发布模式下启用调试信息

由于兼容性问题,我在发布模式下在VS2008中编译我的项目,但我需要访问调试信息.这就是我在项目属性中为发布模式手动设置调试设置的原因.在VS2008中,我打开属性窗口并选择:

  1. 配置属性/ C/C++ /优化=禁用/ Od
  2. 配置属性/ C/C++ /常规/调试信息格式=程序数据库(/ Zi)
  3. 配置属性/ C/C++ /链接器/生成调试信息=是(/ DEBUG)

我使用专业文件来配置我的项目的vcproj文件.每次我改变这个pro文件时,我都要重新加载我的项目,并且调试设置丢失了.我想在pro-file中包含上面提到的三个设置,这样在更改后,我不需要再次设置调试设置.

我已经google了,我也在QT参考中看了我的问题,但我找不到任何东西.我很乐意收到任何建议!

c++ compiler-construction settings qmake visual-studio

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

std :: all_of不接受类成员函数作为带有1个参数的函数

我无法想象这次std::all_of电话我做错了什么.

我有一个班级统计:

class Statistics {
public:
bool isDataSet() const { return m_data.size() > 0; }
private:
std::vector<double> m_data;
};
Run Code Online (Sandbox Code Playgroud)

Statistics类的每个实例对应于某个对象.

在另一个不同文件中的函数中,我想仅在数据已在所有 Statistics实例中初始化时才显示统计信息.我想以std::all_of下列方式使用函数:

if( std::all_of(m_stats.begin(), m_stats.end(), &Statistics::isDataSet) ) {
...
}
Run Code Online (Sandbox Code Playgroud)

哪里 std::vector<Statistics*> m_stats.

编译器报告错误,因为'谓词术语不评估为采用1个参数的函数'.据我所知,每个类成员都将此指针作为第一个参数传递,因此Statistics::isDataSet()实际上应该是一个带有1个参数的函数.但是std::all_of看错了.

我的假设是错误的,Statistics::isDataSet()应该被接受为带有1个参数的函数std::all_of()吗?

c++ std member c++11

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