小编Dav*_*ave的帖子

如何使Twisted使用Python日志记录?

我有一个项目,我正在使用Twisted作为我的Web服务器.当发生异常(例如网络错误)时,它会打印到控制台.

我已经记录了Python的内置日志模块 - 有没有办法告诉反应堆使用它?

通常的模式是什么?

python twisted

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

Python - 扭曲和单元测试

我正在为作为HTTP服务器运行的应用程序的一部分编写单元测试.我一直试图采用的方法是导入包含HTTP服务器的模块,启动它.然后,单元测试将使用urllib2连接,发送数据和检查响应.

我们的HTTP服务器使用Twisted.这里的一个问题是我不熟悉Twisted :)

现在,我实例化我们的HTTP服务器并在setUp()方法中启动它,然后我在tearDown()方法中停止它.

问题是,Twisted看起来不像这样,它只会运行一个单元测试.在第一个之后,反应堆将不再启动.

我搜索,搜索和搜索,我似乎无法找到一个有意义的答案.

我完全采取了错误的方法,还是只是遗漏了一些明显的东西?

python unit-testing twisted

19
推荐指数
2
解决办法
4828
查看次数

Python - Windows关机事件

使用win32api.setConsoleCtrlHandler()时,我能够从Windows接收关闭/注销/等事件,并干净地关闭我的应用程序.

但是,这仅适用于在python.exe下运行应用程序(即,它具有控制台窗口),但不在pythonw.exe(无控制台窗口)下运行.

当您没有控制台且没有窗口可以接收这些事件时,Windows中是否有相同的方式来接收这些事件?或者,是否有一种隐藏控制台窗口的编程方式?

要明确 - 我的目标是能够成功接收Windows关闭/注销/等事件,而无需显示任何类型的控制台窗口.

编辑: 我一直在玩,而且我已经走得更远了.我为此写了一段测试代码.当我执行"taskkill/im pythonw.exe"时 - 它将收到该消息.

但是,当我在Windows上执行关机,重新启动或注销时,我没有收到任何消息.

这是整个事情:

""" Testing Windows shutdown events """

import win32con
import win32api
import win32gui
import sys
import time

def log_info(msg):
    """ Prints """
    print msg
    f = open("c:\\test.log", "a")
    f.write(msg + "\n")
    f.close()

def wndproc(hwnd, msg, wparam, lparam):
    log_info("wndproc: %s" % msg)

if __name__ == "__main__":
    log_info("*** STARTING ***")
    hinst = win32api.GetModuleHandle(None)
    wndclass = win32gui.WNDCLASS()
    wndclass.hInstance = hinst
    wndclass.lpszClassName = "testWindowClass"
    messageMap = { win32con.WM_QUERYENDSESSION : wndproc,
                   win32con.WM_ENDSESSION : …
Run Code Online (Sandbox Code Playgroud)

python windows

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

X11 - 如何使用Python引发另一个应用程序的窗口

我希望能够使用Python提出另一个应用程序的窗口.

我确实看到了这个,我想我可以试试:

X11:通过命令行提升现有窗口?

但是,如果可能的话,我宁愿用Python来做.

python x11

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

Python - 内存泄漏

我正在努力解决Python应用程序中的内存泄漏问题.

事情就是这样 - 它实际上只发生在Windows Server 2008(而不是R2)上,而不是早期版本的Windows上,它看起来也不像在Linux上发生的那样(尽管我在Linux上的测试几乎没有那么多) ).

要解决它,我在垃圾收集器上设置调试:

gc.set_debug(gc.DEBUG_UNCOLLECTABLE | gc.DEBUG_INSTANCES | gc.DEBUG_OBJECTS)
Run Code Online (Sandbox Code Playgroud)

然后,我定期记录gc.garbage的内容.

事实是,gc.garbage总是空的,但我的内存使用率却在上升和上升.

非常令人费解.

python memory-leaks

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

按线程配置Python CPU使用情况

我有一个多线程的Python应用程序,我目前正在排除非常高(90%或更高)的CPU使用率.

我将尝试使用分析器,但我想看看是否有一种方法可以从应用程序中获得每个线程的CPU使用率.我知道os.times()将获得整体CPU使用率 - 我是否可以在每个线程中运行以获取每个线程的用法?确定哪个线程正在吃CPU是非常有帮助的.

python

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

修剪Python运行时

我们有一个(Windows)应用程序,我们使用它来分发整个Python安装(包括我们使用的几个第三方模块),因此我们具有一致性,因此我们不需要单独安装所有内容.这很好用,但应用程序非常庞大.

显然,我们不使用运行时中的所有可用内容.我想减少运行时只包括我们真正需要的东西.

我打算尝试py2exe,但我想尝试找到另一个解决方案来帮助我删除Python运行时不需要的部分.

python

6
推荐指数
2
解决办法
1062
查看次数

Python 和 ShutdownBlockReasonCreate、ShutdownBlockReasonDestroy 和 ShutdownBlockReasonQuery

是否可以从 Python 中调用ShutdownBlockReasonCreateShutdownBlockReasonDestroy和win32 API?ShutdownBlockReasonQuery我在图书馆的任何地方都找不到它们pywin32

谢谢!

python winapi

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

为什么 pyOpenSSL 有 OpenSSL DLL 的单独副本?

我正在Python 2.7.8下开发。其中的 _ssl.pyd 是使用 OpenSSL 1.0.1h 构建的。

但是,我还有 pyOpenSSL 0.10(我知道,旧版本)来满足所需的依赖关系。pyOpenSSL 包括 libeay32.dll 和 ssleay32.dll 版本 0.9.8o。

这是怎么回事?是因为 pyOpenSSL 提供了 OpenSSL 库的直接接口吗?

python openssl pyopenssl

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