小编Nil*_*ner的帖子

沿轴计算直方图

有没有办法计算沿nD阵列轴的许多直方图?我当前使用的方法使用for循环迭代所有其他轴并numpy.histogram()为每个生成的1D数组计算a :

import numpy
import itertools
data = numpy.random.rand(4, 5, 6)

# axis=-1, place `200001` and `[slice(None)]` on any other position to process along other axes
out = numpy.zeros((4, 5, 200001), dtype="int64")
indices = [
    numpy.arange(4), numpy.arange(5), [slice(None)]
]

# Iterate over all axes, calculate histogram for each cell
for idx in itertools.product(*indices):
    out[idx] = numpy.histogram(
        data[idx],
        bins=2 * 100000 + 1,
        range=(-100000 - 0.5, 100000 + 0.5),
    )[0]

out.shape  # (4, 5, 200001)
Run Code Online (Sandbox Code Playgroud)

毋庸置疑,这是非常缓慢的,但我无法找到解决这个问题的方法numpy.histogram …

python performance numpy vectorization scipy

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

HTML电话:链接到紧急电话

如何创建<a href="tel:"></a>指向紧急电话号码(例如911或)的HTML 链接112

RFC说

电话号码可以以全局或本地符号表示。所有电话号码都必须使用全局格式,除非不能这样表示。[紧急号码(“ 911”,“ 112”)]不能以全局形式表示,而需要在上下文中表示为本地号码。

本地上下文部分,我不容易理解什么是“本地上下文”,更不用说什么是正确的情况了。它列出了域前缀(如)houston.example.com或数字前缀(如)+1,并在一段中表示

由全球号码的起始数字组成的上下文并不意味着将这些数字添加到本地号码将产生有效的E.164号码。它可能是偶然巧合的,但这不能依靠。(例如,“ 911”应标记为上下文“ +1”,但“ + 1-911”不是有效的E.164号。)

但是,这一段的措词再次令人非常困惑。

<a href="tel:+49-112">112</a>
Run Code Online (Sandbox Code Playgroud)

现在正确的处理方式与它不是有效的E.164号码这一事实无关吗?

还是它不是有效的E.164号码是一个问题吗?

在其他一些地方,我看到人们在使用

<a href="tel:112;phone-context=emergency.example.com">112</a>
Run Code Online (Sandbox Code Playgroud)

然后其他人再次推荐

<a href="tel:112;phone-context=+49">112</a>
Run Code Online (Sandbox Code Playgroud)

但是当我在Android上点击该链接时,拨号器会打开并显示数字

112;746632668398+49
Run Code Online (Sandbox Code Playgroud)

html rfc tel

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

密码保护主存储库

我们在裸存储库中使用Git和三个主要分支Development,Test&Master.

我们有很多开发环境都有git仓库.每个人都创建了开发分支并在该分支上工作,并将他们的代码推送到裸存储库中的Development分支.

同时,我们希望限制开发人员将他们的代码从他们的开发分支推送到Test&Master分支.

有没有办法通过使用密码保护裸存储库分支.

git

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

Python 测试:模拟 ImportError

我有以下代码

try:
    from foo_fast import bar
except ImportError
    from foo import bar


def some_function(a, b):
    return bar(a, b)
Run Code Online (Sandbox Code Playgroud)

我现在想测试foo_fast可以导入和不能导入的两种情况。

使用pytest和pytest-mock,我自然想把这两种情况封装在一个pytest的fixture中,所以我想我会用

@pytest.fixture(params=(True, False))
def use_fast(request, mock):

    if not request.param:
        mock.patch("foo_fast.bar", side_effect=ImportError)

    return request.param


def test_foo(use_fast):
    assert some_function(1, 2)
Run Code Online (Sandbox Code Playgroud)

但是,似乎 import 语句在测试开始之前只运行一次,所以我无法模拟ImportError.

如何嘲笑这些ImportError案例?

python import mocking pytest

4
推荐指数
2
解决办法
1076
查看次数

如何在Linux终端命令中添加退格键?

我需要执行以下命令来ssh到已保存凭据的网络上的设备.

ans = subprocess.check_output(['sudo','sshpass','-p',iplist[index][3],'ssh',iplist[index][2],'@',iplist[index][2]])
Run Code Online (Sandbox Code Playgroud)

这是在Python环境中的Ubuntu上执行的.我想实际执行 -

sudo sshpass -p password username@hostname
Run Code Online (Sandbox Code Playgroud)

很可能之前有一个空格和'@'.我该如何消除它?

python linux ssh

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

标签 统计

python ×3

git ×1

html ×1

import ×1

linux ×1

mocking ×1

numpy ×1

performance ×1

pytest ×1

rfc ×1

scipy ×1

ssh ×1

tel ×1

vectorization ×1