小编wil*_*727的帖子

在python中使用get_nowait()而不引发空异常

我有一个进程间队列,该队列通常为空,并且只有一段时间不出现任何东西。在我的一个线程中,我想定义一个while循环,如下所示:

def mythread(queue1):

    while (queue1.get_nowait() != 1):
        #do stuff
Run Code Online (Sandbox Code Playgroud)

直到队列为空,这在我的情况下会很快发生,一直很好。当队列为空时,调用get_nowait()或get(False)会引发空队列异常。有什么方法可以检查队列而不阻塞并且不引发空异常吗?

queue multithreading interprocess python-2.7

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

numpy数组被舍入?减去小花车

我将numpy数组的元素分配为等于“小”值的python浮点型数字的减法。当我这样做时,尝试通过打印到命令行来验证结果,该数组将报告为全零。这是我的代码:

import numpy as np
np.set_printoptions(precision=20)

pc1x = float(-0.438765)
pc2x = float(-0.394747)

v1 = np.array([0,0,0]) 

v1[0] = pc1x-pc2x

print pc1x
print pc2x
print v1
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样:

-0.438765
-0.394747
[0 0 0]
Run Code Online (Sandbox Code Playgroud)

我对v1期望如此:

[-0.044018 0 0]
Run Code Online (Sandbox Code Playgroud)

我承认,我是numpy的新手,这可能是对numpy和float的工作方式的明显误解。我以为更改numpy打印选项可以解决,但没有运气。任何帮助都很棒!谢谢!

python arrays numpy pretty-print rounding

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