小编zen*_*poy的帖子

捕获Ctrl + C/SIGINT并在python中正常退出多进程

如何在多进程python程序中捕获Ctrl + C并优雅地退出所有进程,我需要解决方案在unix和windows上工作.我尝试过以下方法:

import multiprocessing
import time
import signal
import sys

jobs = []

def worker():
    signal.signal(signal.SIGINT, signal_handler)
    while(True):
        time.sleep(1.1234)
        print "Working..."

def signal_handler(signal, frame):
    print 'You pressed Ctrl+C!'
    # for p in jobs:
    #     p.terminate()
    sys.exit(0)

if __name__ == "__main__":
    for i in range(50):
        p = multiprocessing.Process(target=worker)
        jobs.append(p)
        p.start()
Run Code Online (Sandbox Code Playgroud)

它有点工作,但我不认为这是正确的解决方案.

编辑: 这可能与重复

python signals multiprocessing

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

python:在pdb中是否可以在n次点击后才启用断点?

在eclipse(以及其他几个IDE)中,有一个选项可以在一定数量的命中之后打开断点.在Python中pdb,断点有一个命中计数,并且有condition命令.我如何连接它们?

python debugging pdb

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

如何判断lib是用/ mt还是/ md编译的?

鉴于编译lib,有没有办法告诉它是编译/md/mt只是通过查看它(可能与dumpbin工具)?

编辑: dumpbin /directives foo.lib对于lib未使用/GLswitch 编译的情况的解决方案.是否有选项可以检查lib以这种方式优化的文件?

c++ visual-c++

21
推荐指数
2
解决办法
8555
查看次数

在Heroku教程之后,Foreman在Windows上启动失败

我正在关注Heroku/Facebook集成的heroku教程(但我怀疑这个问题与facebook集成无关)而且我被困在我应该启动工头的舞台上(我已经为Windows安装了Heroku安装带) ,包括领班):

> foreman start
Run Code Online (Sandbox Code Playgroud)

得到:

C:/RailsInstaller/Ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find foreman (>= 0) amongst [POpen4-0.1.4, Platform-0.4.0, ZenTest-4.6.2, abstract-1.0.0, actionm
ailer-3.0.11, actionmailer-3.0.9, actionpack-3.0.11, actionpack-3.0.9, activemodel-3.0.11, activemodel-3.0.9, activerecord-3.0.11, activerecord-3.0.9, activerecord-sqlserver-adapter-3.0.15, activereso
urce-3.0.11, activeresource-3.0.9, activesupport-3.0.11, activesupport-3.0.9, addressable-2.2.6, annotate-2.4.0, arel-2.0.10, autotest-4.4.6, autotest-growl-0.2.16, autotest-rails-pure-4.1.2, autotest
-standalone-4.5.8, builder-2.1.2, bundler-1.0.15, diff-lcs-1.1.3, erubis-2.6.6, factory_girl-1.3.3, factory_girl_rails-1.0, faker-0.3.1, gravatar_image_tag-1.0.0.pre2, heroku-2.14.0, i18n-0.5.0, json-
1.6.1, launchy-2.0.5, mail-2.2.19, mime-types-1.17.2, mime-types-1.16, nokogiri-1.5.0-x86-mingw32, open4-1.1.0, pg-0.11.0-x86-mingw32, polyglot-0.3.3, polyglot-0.3.1, rack-1.2.4, rack-1.2.3, rack-moun
t-0.6.14, rack-test-0.5.7, rails-3.0.11, rails-3.0.9, railties-3.0.11, railties-3.0.9, rake-0.9.2.2, rake-0.8.7, rb-readline-0.4.0, rdoc-3.11, rdoc-3.8, rest-client-1.6.7, rspec-2.6.0, rspec-core-2.6. …
Run Code Online (Sandbox Code Playgroud)

facebook heroku foreman

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

使用scikit-learn的Web应用程序

我在本地训练了一个sklearn分类器,我必须创建一个简单的Web应用程序来演示它的用途.我是Web应用程序开发的完整菜鸟,我不想浪费时间使用不支持我正在使用的模块的框架创建Web应用程序.

  1. 你有什么建议是一个很好的方法来完成这项任务?
  2. 我应该使用什么Web应用程序开发框架(如果有的话)?
  3. 我是否必须深入研究诸如此类的事情Heoku,django或者是否有更简单,更快速的解决方案来进行简单的科学演示?

我的想法是采取我训练的分类器,腌制它并在服务器上取消它,然后classify从服务器运行,但我不知道从哪里开始.

python web-applications scikit-learn

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

Python:尝试除了KeyError vs if has_key()

在下面的代码中,什么更有效/更'Pythonic'?使用try-catch子句或if-else子句?

fname = 'AdobeARM.log'

letters = {}

with open(fname,'r') as f:
    for line in f:
        for c in line:
            try:
                letters[c] += 1
            except KeyError:
                letters[c] = 1

print letters
Run Code Online (Sandbox Code Playgroud)

VS.

fname = 'AdobeARM.log'

letters = {}

with open(fname,'r') as f:
    for line in f:
        for c in line:
            if letters.has_key(c):
                letters[c] += 1
            else:
                letters[c] = 1

print letters
Run Code Online (Sandbox Code Playgroud)

我倾向于使用try catch选项,但我不确定为什么.

python performance

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

如何在Windows上使用os.fork运行python脚本?

os.fork() Windows下不支持命令,并给出以下错误:

AttributeError: 'module' object has no attribute 'fork'
Run Code Online (Sandbox Code Playgroud)

所以一般的问题是如何运行包含os.fork()Windows下调用的脚本?.我不介意使用只会模仿行为并且运行速度慢得多的东西,它只用于测试.我也不想更改脚本,因为它是第三方模块.

为了给你一个更广泛的角度来看,我想使用该模块rq也称为redis queueWindows上.最终我将在Heroku服务器上运行代码,这是一台Linux机器,但在开发Web应用程序期间,我正在使用Windows.

python compatibility

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

Python:列表理解与地图

参考这个Python列表理解与.地图问题,有人可以解释为什么List Comprehensions map在列表理解不调用函数时会给出更好的结果,即使在没有lambda函数map但是在调用函数时给出最差的结果时?

import timeit

print timeit.Timer('''[i**2 for i in xrange(100)]''').timeit(number = 100000)

print timeit.Timer('''map(lambda i: i**2, xrange(100))''').timeit(number = 100000)

print timeit.Timer(setup="""def my_pow(i):
    return i**2
""",stmt="""map(my_pow, xrange(100))""").timeit(number = 100000)

print timeit.Timer(setup="""def my_pow(i):
    return i**2
""",stmt='''[my_pow(i) for i in xrange(100)]''').timeit(number = 100000)
Run Code Online (Sandbox Code Playgroud)

结果:

1.03697046805 <-- list comprehension without function call
1.96599485313 <-- map with lambda function
1.92951520483 <-- map with function call
2.23419570042 <-- list comprehension with function call
Run Code Online (Sandbox Code Playgroud)

python performance

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

使用Python以MySQL格式打印结果

从MySQL查询打印结果的最简单方法是什么,就像MySQL使用Python在控制台中打印它们一样?例如,我想得到类似的东西:

+---------------------+-----------+---------+
| font                | documents | domains |
+---------------------+-----------+---------+
| arial               |     99854 |    5741 |
| georgia             |     52388 |    1955 |
| verdana             |     43219 |    2388 |
| helvetica neue      |     22179 |    1019 |
| helvetica           |     16753 |    1036 |
| lucida grande       |     15431 |     641 |
| tahoma              |     10038 |     594 |
| trebuchet ms        |      8868 |     417 |
| palatino            |      5794 |     177 |
| lucida sans unicode …
Run Code Online (Sandbox Code Playgroud)

python mysql

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

是否有用于调试python的sublime text 2的插件?

是否有用于调试python的sublime text 2的插件?Sublime Text是python的一个很好的编辑器,但是一旦项目变得太大,我就必须使用其他IDE(例如eclipse)进行调试.

做任何你Pythonists有针对此问题的解决方案?

python debugging sublimetext2

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