小编Noa*_*oam的帖子

堆是否被视为抽象数据类型?

我正在学习数据结构课程并且对于被认为是ADT(抽象数据类型)和什么不是(如果它不是ADT那么它必须是实现?)有点困惑.

具体来说,我在谈论堆.

我在维基百科中读到"堆是一种专门的基于树的数据结构",这是否意味着它是一个ADT?如果是这样,那么我无法理解以下这一行,也来自维基百科"堆是一种称为优先级队列的抽象数据类型的最高效实现".

我的意思是,Heap可以是ADT还是其他ADT的实现(在这种情况下是优先级队列的实现?我理解ADT的概念并且在Binary Heap的上下文中我理解它可以使用数组实现arr[i]是的父arr[2i]arr[2i + 1] 我只是混淆一个堆是否可以在一方面使用阵列实现的ADT和在另一方面一个数据结构实现其他ADT.

想得到一些澄清.

heap priority-queue abstract-data-type data-structures

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

在子文件夹中使用pytest where test

我正在使用python pytest来运行我的单元测试.我的项目文件夹是:

Main - 包含数据文件:A.txt

Main\Tests - 我运行pytest的文件夹

Main\Tests\A_test - 包含测试文件的文件夹

A_test文件夹中的测试使用该文件A.txt(位于Main文件夹中).

我的问题是,当我运行py.test时,测试失败,因为它无法找到A.txt.

我发现这是因为pytest Main\Test在运行测试时使用路径而不是改变路径Main\Tests\A_test(我A.txt在测试文件中打开时使用相对路径)

我的问题:有没有办法让pytest更改目录到它为每个测试执行的测试文件夹?那么测试中的相对路径仍然可以工作?

还有其他一些通用的解决方法吗?(我不想把所有东西都改成绝对路径或类似的东西,这也是一个例子,在现实生活中我有几百个测试).

谢谢,

诺姆

python unit-testing pytest

9
推荐指数
3
解决办法
3365
查看次数

elasticsearch-dsl 使用 from 和 size

我使用 python 2.7 和 Elasticsearch-DSL 包来查询我的弹性集群。

尝试向查询添加“来自和限制”功能,以便在我的 FE 中进行分页,该 FE 呈现文档弹性返回,但“来自”无法正常工作(即我没有正确使用它,我的配偶)。

相关代码是:

s = Search(using=elastic_conn, index='my_index'). \
       filter("terms", organization_id=org_list)

    hits = s[my_from:my_size].execute() # if from = 10, size = 10 then I get 0 documents, altought 100 documents match the filters.
Run Code Online (Sandbox Code Playgroud)

我的索引包含 100 个文档。即使我的过滤器匹配所有结果(即没有过滤掉任何内容), 例如,如果我使用my_from = 10and ,那么我在命中中什么也得不到(没有匹配的文档)my_size = 10

这是为什么?我是否滥用了 from ?

文件指出:

来自和尺寸参数。from 参数定义距您要获取的第一个结果的偏移量。size 参数允许您配置要返回的最大命中数。

所以这看起来很简单,我错过了什么?

python-2.7 elasticsearch

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

使用camera2 API获取单张图像并用ImageView显示

我想使用 Camera2 API 从相机获取单个帧并使用 ImageView 显示它。我发现了一些密切的问题,例如

/sf/ask/1782359421/

我还查看了 Camera2Basic 示例,但它太复杂并且不完全是我所需要的。

我编写了代码,它基于我在网上看到的一些示例,应该可以实现,但它不起作用,我不明白为什么。

应用程序不会崩溃,但只是不在 ImageView 上显示任何内容。我在任何函数调用中都使用了日志消息,以便尝试保持 logcat 清晰。

另外,该应用程序是 logcat 说“该应用程序可能在后台做了太多工作......”我不明白这怎么可能,因为我制作了一个captureRequest而不是一个repeatingCaptureRequest.

这是代码和 logcat: 代码:

public class CameraImageReaderActivity extends AppCompatActivity {

private final static String TAG = "CAMERA_IMAGE_READY: ";
private ImageReader imageReader;
private String cameraId;
private CameraDevice camera;
private HandlerThread handlerThread;
private Handler handler;
private Surface imageReaderSurface;
private ImageView imageView;

private CameraDevice.StateCallback cameraStateCallback = new CameraDevice.StateCallback() {
    @Override
    public void onOpened(CameraDevice cameraDevice) {
        Log.d(TAG, "onOpend: CAMERA OPENED");
        camera = …
Run Code Online (Sandbox Code Playgroud)

android android-camera2

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

使用Powershell禁用自动更新(2012R2)

我看到了一些相关的问题,但是所有解决方案都不适合我。我有Windows Server 2012R2,我需要使用Powershell v5.0或批处理(首选Powershell)禁用它的自动Windows更新。

我可以通过以下方式手动进行操作:打开gpedit.msc,导航至Computer Configuration -> Administrative Templates -> Windows Components -> Windows Update,然后更改Configure Automatic UpdatesDisable

使用外部Powershell模块(例如PolicyFileEditor)如何自动完成操作。

是否存在等效的注册表项,可以对其进行更改以完成工作?我知道Windows Server 2008有一个,但是我正在使用2012R2。

powershell windows-server-2012-r2

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

Installshield主要升级不会卸载旧版本

我有一个Installshield项目.

我加了一个重大的升级项目和改变Product version,Product codePackage code.

使用新安装程序安装后,旧版本仍然存在(中Add / Remove)

我认为这与我的旧版本编号是1.0.4.23新版本的事实有关1.0.4.24- 这是一个问题吗?主要升级是否忽略版本属性中的这么小的变化?

在主要升级common选项卡中我选择了Any earlier version

我记得多年前做的版本号1.11.2一切都很好,这是我怀疑当前问题与版本号有关的主要原因.

windows-installer installshield version

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

Python 2.7-将base 64转换为二进制字符串

我正在使用Python 2.7(这意味着没有base64.decodebytes()),我需要将我的base64字符串转换为例如aW0ganVzdCBhIGJhc2UgNjQgZmlsZQ==二进制(即1和0的字符串)。

我想尝试以某种方式将base 64字符串写入文件wb,然后用读取,rb但即使是在wb写入时也是如此-打开文件时,我仍然看到原始的base 64字符串。

我想念什么?

谢谢

python base64 python-2.7

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

Elasticsearch with python:查询特定字段

我正在使用 python 的 elasticsearch 模块连接和搜索我的 elasticsearch 集群。

在集群中,我的索引中的字段之一是“消息”——我想从 python 查询我的弹性,以获取此“消息”字段中的特定值。

这是我的基本搜索,它只返回特定索引的所有日志。

    es = elasticsearch.Elasticsearch(source_cluster)
    doc = {
        'size' : 10000,
        'query': {
            'match_all' : {}
        }
    }
res = es.search(index='test-index', body=doc, scroll='1m')
Run Code Online (Sandbox Code Playgroud)

我应该如何更改此查询,以便在“消息”字段中找到带有“移动”一词的所有结果?

从 Kibana 执行此操作的等效查询是:

_index:test-index && message: moved

谢谢,

诺姆

python elasticsearch

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

RESTful API:“下载资源”端点名称

我正在构建一个 RESTful api,它应该支持一个 GET 请求来下载一个服务器资源(一个文件)

我想知道我应该给出这个请求的正确名称(路线)是什么(假设有一个)。

我已经阅读了我发现的一些“最佳实践”文章,但没有一篇与这种情况无关。

我已经有:

[GET] /files/file-id
Run Code Online (Sandbox Code Playgroud)

返回有关文件的信息,所以我需要其他东西。是否有 RESTful 下载请求的最佳实践?

rest

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

内置搜索数据表 - 禁用“onKeyUp”触发器

我正在使用 js DataTables 版本 1.10.15,目前在我的表上实现搜索(通过服务器端处理通过 ajax 获取数据)。

我正在使用内置搜索文本框(通过添加fdom表的构造函数中的属性)。

问题是 onKeyUp 触发了搜索,我想禁用此功能,并且仅在单击按钮或按 Enter 键时触发搜索,以减少对繁忙服务器的请求数量。

可以使用 dataTable 内置选项来完成,还是应该添加我自己的按钮和文本框,然后才能做到这一点?

谢谢

jquery datatables

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

Python 3.6 - 使用异步函数进行过滤

这是非常基本的问题,但找不到相关的好信息。

当我想用来过滤元素的函数是异步的时,如何使用内置的过滤函数?

例子:

import asyncio


async def not_one(item):
    if item == 1:
        await asyncio.sleep(1)  # Just to give an asyc feel.. 
        return False
    return True


async def main():
    org_list = [1, 2, 3]

    # IMPLEMENTATION #1 - WITHOUT USING FILTER
    without_one_list = []
    for item in org_list:
        is_one = await not_one(item)
        if is_one:
            without_one_list.append(item)

    print(without_one_list)  # [2, 3]

    # NOT WORKING #1 - not_one was never awaited
    without_one_list = list(filter(not_one, org_list))

    # NOT WORKING #2 - not a valid syntax …
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-3.6

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