小编k_w*_*ski的帖子

在psycopg2中将参数列表传递给SQL

我有一个从数据库中获取的行ID列表.我正在使用python和psycopg2,我的问题是如何有效地将这些ID传递给SQL?我的意思是,如果我知道该列表的长度,这很容易,因为我总是可以根据需要手动或自动将多少"%s"表达式添加到查询字符串中,但在这里我不知道我需要多少它们.重要的是我需要使用sql"id IN(id1,id2,...)"语句选择行.我知道可以检查列表的长度并将合适数量的"%s"连接到查询字符串中,但我担心它会非常缓慢和丑陋.有没有人知道如何解决它?请不要问为什么我需要用"IN"语句来做 - 这是一个基准测试,是我课堂作业的一部分.提前致谢!

python postgresql psycopg2

41
推荐指数
3
解决办法
2万
查看次数

RxJava - 获取列表中的每个项目

我有一个返回an的方法Observable<ArrayList<Long>>,它是一些Items的id.我想通过这个列表并使用另一个返回的方法下载每个Item Observable<Item>.

我如何使用RxJava运算符执行此操作?

java monads reactive-programming rx-java

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

哦-my-zsh插件无法正常工作

我刚刚发现了哦-my-zsh,但我无法让它发挥作用.虽然主题工作得非常完美,但插件却没有.我选择了一些插件,例如.macports,但我既没有端口命令完成也没有适当的别名工作.这是我的.zshrc:



    # Path to your oh-my-zsh configuration.
    export ZSH=$HOME/.oh-my-zsh

    # Set name of the theme to load.
    # Look in ~/.oh-my-zsh/themes/
    # Optionally, if you set this to "random", it'll load a random theme each
    # time that oh-my-zsh is loaded.
    export ZSH_THEME="steeef"

    # Set to this to use case-sensitive completion
    # export CASE_SENSITIVE="true"

    # Comment this out to disable weekly auto-update checks
    # export DISABLE_AUTO_UPDATE="true"

    # Uncomment following line if you want to disable colors in ls
    # export …
Run Code Online (Sandbox Code Playgroud)

zsh zshrc

15
推荐指数
2
解决办法
3万
查看次数

如何从类型重构Haskell表达式

我正在编写一个程序,对于给定的类型签名重建这种类型的Haskell表达式,例如:for for a -> b -> areturn \x -> \_ -> x.我已经读过这个问题背后的理论,我知道有这个霍华德 - 库里的同构.我想我的程序解析输入并将其表示为术语.然后我会触发SLD分辨率,告诉我是否可以构造给定类型的术语(例如,对于Pierce来说,这是不可能的).我还不知道如何在此分辨率期间实际创建Haskell表达式.我已经看过djinn的代码,但它有点复杂,我想掌握一些关于它如何工作的一般概念.

logic haskell types type-inference

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

模式匹配monad中的值

我在haskell中获得了以下数据类型:

data Flow a = Continue a | Return Value
newtype FlowT m a = FlowT {runFlowT :: m (Flow a)}
type IStateM a = FlowT (StateT IState IO) a
Run Code Online (Sandbox Code Playgroud)

其中IState是包含一些列表的记录类型等.FlowT的Monad和MonadTrans实例定义如下:

instance (Monad m) => Monad (FlowT m) where
x >>= f = FlowT $ do
                    unwrapped <- runFlowT x
                    case unwrapped of
                        Continue v -> runFlowT (f v)
                        Return r -> return $ Return r
return x = FlowT $ return (Continue x)


instance MonadTrans FlowT where
    lift m …
Run Code Online (Sandbox Code Playgroud)

monads haskell monad-transformers

7
推荐指数
1
解决办法
343
查看次数

具有以列表中指定的前缀开头的属性的对象的MongoEngine查询列表

我需要向Mongo数据库查询具有以列表中的任何前缀开头的特定属性的元素.现在我有一段这样的代码:

query = mymodel(terms__term__in=query_terms)
Run Code Online (Sandbox Code Playgroud)

这匹配列表"条款"上具有项目的对象,该列表具有明确出现在列表"query_terms"上的StringField"term".我想要实现的是拥有列表"条款"上的项目的对象,其中StringField"term"以列表"query_terms"上出现的任何前缀开头.是否可以在一个查询中执行此操作而不在数据库中存储每个可能的"term"前缀?编辑:下面的解决方案很好,但现在我必须找到条目从列表上的每个前缀开始的对象.我变了

query = reduce(lambda q1, q2: q1.__or__(q2), 
           map(lambda prefix: Q(terms__term__startswith=prefix)))
Run Code Online (Sandbox Code Playgroud)

query = reduce(lambda q1, q2: q1.__and__(q2), 
           map(lambda prefix: Q(terms__term__startswith=prefix)))
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我最终收到以下错误:

InvalidQueryError: Duplicate query conditions: terms__term__startswith
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python mongodb nosql mongoengine

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

PyMongo和toArray()方法

我需要在一个小型数据库(64MB)上做一些基准测试,我需要弄清楚用PyMongo将整个Mongo集合提取到python对象的最聪明的方法是什么?在JavaScript中,有toArray()方法但我在python中找不到类似的东西.提前致谢!

python database document-oriented-db mongodb pymongo

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

使用不同的参数多次运行python函数

嗨我需要一个函数,它将获取一个函数并返回一个将运行该参数函数的函数,例如.1000次,每次评估它的论点.我有这样的事情:

def runner(f):
    def inner(*args):
        for i in xrange(1000):
            f(*args)
    return inner
Run Code Online (Sandbox Code Playgroud)

但似乎这样的调用:runner(f)(random.randint(1,UPPER_BOUND))使用相同的参数运行f 1000次.怎么做正确?

python

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

Apache HttpClientBuilder - IllegalArgumentException

IllegalArgumentException试图用HttpClientBuilder构建Apache HttpClient实例时得到:

private CloseableHttpClient delegate;

public DigestClient(String user, String pass) {
    Credentials credentials = new UsernamePasswordCredentials(user, pass);

    CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
    credentialsProvider.setCredentials(AuthScope.ANY, credentials);

    delegate = HttpClientBuilder.create()
            .setDefaultCredentialsProvider(credentialsProvider)
            .build();
}
Run Code Online (Sandbox Code Playgroud)

我得到的是:

 java.lang.IllegalArgumentException: Item may not be null
        at org.apache.http.util.Args.notNull(Args.java:48)
        at org.apache.http.config.RegistryBuilder.register(RegistryBuilder.java:58)
        at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:727)
        at com.example.app.data.net.DigestClient.<init>(DigestClient.java:51)
Run Code Online (Sandbox Code Playgroud)

任何想法为什么会这样?

这是我与HttpClient版本的关系:

compile 'org.apache.httpcomponents:httpclient-android:4.3.5'
Run Code Online (Sandbox Code Playgroud)

java android httpclient apache-httpcomponents apache-httpclient-4.x

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