小编Ric*_*kyA的帖子

Xpath就像查询嵌套的python词典一样

有没有办法为嵌套的python词典定义XPath类型查询.

像这样的东西:

foo = {
  'spam':'eggs',
  'morefoo': {
               'bar':'soap',
               'morebar': {'bacon' : 'foobar'}
              }
   }

print( foo.select("/morefoo/morebar") )

>> {'bacon' : 'foobar'}
Run Code Online (Sandbox Code Playgroud)

我还需要选择嵌套列表;)

这可以通过@ jellybean的解决方案轻松完成:

def xpath_get(mydict, path):
    elem = mydict
    try:
        for x in path.strip("/").split("/"):
            try:
                x = int(x)
                elem = elem[x]
            except ValueError:
                elem = elem.get(x)
    except:
        pass

    return elem

foo = {
  'spam':'eggs',
  'morefoo': [{
               'bar':'soap',
               'morebar': {
                           'bacon' : {
                                       'bla':'balbla'
                                     }
                           }
              },
              'bla'
              ]
   }

print xpath_get(foo, "/morefoo/0/morebar/bacon")
Run Code Online (Sandbox Code Playgroud)

[编辑2016]这个问题和接受的答案是古老的.较新的答案可能比原始答案更好地完成工作.但是我没有测试它们所以我不会改变接受的答案.

python xpath jmespath json-path-expression

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

mongo的命令行认证失败

我在osx上运行mongo 2.2.2.

当我这样做时,以下身份验证正常:

$ mongo
>> use admin
>> db.auth("uname", "password")
Run Code Online (Sandbox Code Playgroud)

日志:

Thu Mar  7 13:51:08 [initandlisten] connection accepted from 127.0.0.1:63474 #10 (4 connections now open)
Thu Mar  7 13:51:08 [conn10]  authenticate db: admin { authenticate: 1, nonce: "123", user: "uname", key: "456" }
Run Code Online (Sandbox Code Playgroud)

但是当我尝试直接从命令行进行身份验证时:

$ mongo admin -u uname -p password
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Thu Mar  7 14:25:52 [initandlisten] connection accepted from 127.0.0.1:63939 #12 (5 connections now open)
Thu Mar  7 14:25:52 [conn12]  authenticate db: admin { authenticate: 1, nonce: "789", …
Run Code Online (Sandbox Code Playgroud)

mongodb

36
推荐指数
2
解决办法
8万
查看次数

如何从一开始就使用Kafka Consumer API读取数据?

每次运行消费者jar时,请任何人都可以告诉我如何使用Kafka Consumer API从一开始就阅读消息.

apache-kafka kafka-consumer-api

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

go中的pprof导入开销有多大

我有几个go程序,其中有一个未使用的net/http/pprof输入.

import _ "net/http/pprof"
...
//http.ListenAndServe("127.0.0.1:6060", nil)
Run Code Online (Sandbox Code Playgroud)

我想知道这个导入的开销是多少CPU和Mem.阿卡.我应该删除产品(是的),但如果我忘了会有什么影响?

相关:这个导入的确切副作用是什么?它注册了一些http处理程序,但它是否也在go的malloc函数中注入了东西?

go

17
推荐指数
1
解决办法
2263
查看次数

如何从代码中获取当前的GOPATH

如何GOPATH从代码块中获取当前值?

runtime只有GOROOT:

// GOROOT returns the root of the Go tree.
// It uses the GOROOT environment variable, if set,
// or else the root used during the Go build.
func GOROOT() string {
    s := gogetenv("GOROOT")
    if s != "" {
        return s
    }
    return defaultGoroot
}
Run Code Online (Sandbox Code Playgroud)

我可以创建一个已经GOROOT替换的函数GOPATH,但是有一个构建吗?

go

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

vs code - rollback extension/install特定扩展版本

刚刚得到Golang扩展的更新,它似乎被破坏了,报告了一个错误package main,就是我的导入列表,没有任何有用的信息.这是拒绝lint或做任何有用的烦人的事情.

在此输入图像描述

所以我想快速跳回到以前的版本,我怎样才能在VS代码中执行此操作?似乎无法在文档中找到它.

go visual-studio-code

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

Python列表与非唯一项目的交集

我有两个字符串,我想在它们上面有交集,包括重复的项目:

str_a = "aabbcc"
str_b = "aabd"

list(set(str_a) & set(str_b))
>> "ab"
Run Code Online (Sandbox Code Playgroud)

我想让它回归:

>> "aab"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python intersection multiset

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

Celery Group任务用于map/reduce工作流程

我可以使用Celery Group原语作为map/reduce工作流程中的伞形任务吗?

或者更具体:组中的子任务是否可以在多个服务器上的多个工作程序上运行

来自文档:

However, if you call apply_async on the group it will send a special 
grouping task, so that the action of calling the tasks happens in a worker 
instead of the current process
Run Code Online (Sandbox Code Playgroud)

这似乎意味着任务都发送给一个工人......

在3.0(仍然)之前,可以在可以在多个服务器上运行的TaskSet中触发子任务.问题是确定所有任务是否已完成执行.这通常是通过轮询所有不太优雅的子任务来完成的.我想知道是否可以使用Group原语来缓解这个问题.

celery

13
推荐指数
1
解决办法
2977
查看次数

SSH EC2 Linux实例的默认用户名是什么?

SSH EC2 amazon Linux实例的默认用户名是什么.我有一个旧实例,我忘记了用户名.有人可以帮忙吗?

ubuntu amazon-ec2

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

用于在Go中组织项目文件的Cmd文件夹

我已经搜索了在项目中组织Go文件的解决方案并找到了这篇文章.我想知道该cmd文件夹的作用是什么,该帖子的第二部分使用了该文件夹.这对Go编译器来说是一个神奇的词吗?另一方面,我正在阅读Go文档,那里没有任何cmd文件夹.

那么这个文件夹怎么样?在Go中构建项目文件的最佳实践是什么,它支持源文件,项目二进制文件,第三方软件包和单元测试.

go

11
推荐指数
2
解决办法
6418
查看次数