小编Ale*_*exC的帖子

如何在Ubuntu中运行PyCharm - "在终端中运行"或"运行"?

当我双击pycharm.sh时,Ubuntu让我在"Run in Terminal"和"Run"之间进行选择.这些选项有什么区别?

python ubuntu pycharm

23
推荐指数
2
解决办法
9万
查看次数

Postgres的默认密码是什么

我刚刚在Windows 7上安装了Postgres 9.3.安装成功完成.它从未要求我提供postgres用户的密码.

服务postgresql-x64-9.3已启动并正在运行.但是,我无法连接:我不知道密码.我找到了以下答案,但没有帮助:

关于Ubuntu的类似问题

windows postgresql

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

如何防止gson将整数转换为双精度数

我的json中有整数,我不希望gson将它们转换成双打.以下不起作用:

@Test
public void keepsIntsAsIs(){
    String json="[{\"id\":1,\"quantity\":2,\"name\":\"apple\"},{\"id\":3,\"quantity\":4,\"name\":\"orange\"}]";
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Double.class,  new DoubleSerializerAsInt());
    Gson gson = gsonBuilder.create();
    List<Map<String, Object>> l = gson.fromJson(json, List.class);
    for(Map<String, Object> item : l){
        System.out.println(item);
    }
}

private static class DoubleSerializerAsInt implements JsonSerializer<Double>{

    @Override
    public JsonElement serialize(Double aDouble, Type type, JsonSerializationContext jsonSerializationContext) {
        int value = (int)Math.round(aDouble);
        return new JsonPrimitive(value);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出不是我想要的:

{id=1.0, quantity=2.0, name=apple}
{id=3.0, quantity=4.0, name=orange}
Run Code Online (Sandbox Code Playgroud)

有没有办法在我的地图中使用整数而不是双打?

{id=1, quantity=2, name=apple}
{id=3, quantity=4, name=orange}
Run Code Online (Sandbox Code Playgroud)

编辑:并非所有字段都是整数.我相应地修改了我的例子.我在网上看了很多例子,包括这个网站上的一些答案,但在这个特殊情况下它不起作用.

java json gson

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

logging.fatal和logging.critical有什么区别?

logging.fatal和logging.critical有什么区别?在Python 3.4中,两者似乎都表现得完全相同.是否因为某种向后兼容性而保留?

python logging

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

如何在有限的时间内通过鼠兔消费RabbitMQ消息?

pika教程中的所有示例都以客户端调用结束start_consuming(),这会启动无限循环.这些例子对我有用.

但是,我不希望我的客户端永远运行.相反,我需要我的客户端消耗消息一段时间,例如15分钟,然后停止.

我该如何做到这一点?

python rabbitmq python-2.7 pika

9
推荐指数
1
解决办法
4130
查看次数

如何删除RabbitMq交换?

我可以轻松删除队列,如下所示:

rabbitmqadmin delete queue name='MyQ'

但是,我找不到删除交换的方法.我错过了什么?

rabbitmq

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

如果我在Flask应用程序中使用SimpleCache怎么办?

我们使用以下设置:NGINX + Gunicorn + Flask。我们只需要添加一点缓存,每个Flask工作者不超过5Mb。SimpleCache似乎是最简单的解决方案-它在Python进程本身内部本地使用内存。

不幸的是,文档指出以下内容:

“用于单进程环境的简单内存缓存。此类主要存在于开发服务器中,并且不是100%线程安全的。”

但是,我看不到在我们的设置中线程安全到底有多重要。我认为Gunicorn可以让数个Flask工人保持运转,每个工人都有自己的小缓存。可能出什么问题了?

python caching flask python-2.7 gunicorn

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

How to mock a call to __next__

I am trying to mock a coroutine. As such, this mock's __next__() and close() are called. While mocking close() works, I cannot mock __next__():

    mock_coroutine = mock.Mock()
    mock_coroutine.some_call(1, 2, 3)
    mock_coroutine.some_call.assert_called_with(1, 2, 3)
    mock_coroutine.close()
    mock_coroutine.close.assert_called_with()
    #this fails
    mock_coroutine.__next__()
    mock_coroutine.__next__.assert_called_with()
Run Code Online (Sandbox Code Playgroud)

What am I missing? How to make sure my mock's __next__() method is called?

For now, I am using the following:

class MockCoroutine:
    def __next__(self):
        self.called_next = True

    def close(self):
        self.called_exit = True
Run Code Online (Sandbox Code Playgroud)

However, I very much rather use a …

python unit-testing mocking python-3.x

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

如何将嵌套字典传递给 Flask 的 GET 请求处理程序

我试图将嵌套字典作为参数传递给由 Flask 工作人员处理的 GET 请求。整个设置是 Nginx+Gunicorn+Flask。在客户端,我正在执行以下操作:

import requests

    def find_cabin():
        party = {'People' : [{'Age': 44, 'Gender': 'F', 'Habits': 'Smoking,Drinking'}, {'Age': 9, 'Gender': 'F'}
                    , {'Age': 4, 'Gender': 'F'}, {'Age': 49, 'Gender': 'M'}],
                 'Vehicles': [{'Make/Model': 'Honda Civic'}, {'Make/Model': 'Toyota RAV4'}],
                 'Must Haves':['Deck', 'Fireplace', 'Boat launch', {'Bedrooms': 2}]}
        uri = 'mysite.com/find_cabin'
        headers = {'Content-Type': 'application/json', 'Accept': 'text/plain'}
        res = requests.get(uri, data=json.dumps(party), headers=headers)
        return res.text
Run Code Online (Sandbox Code Playgroud)

在服务器上,在我的 Flask 处理程序中,我这样做:

@app.route('/find_cabin/', methods=['GET'])
def find_cabin():
    payload = request.data
    # payload is empty
    print ('payload for …
Run Code Online (Sandbox Code Playgroud)

python flask python-requests

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

有没有办法在Postgres中禁用函数重载

我的用户和我不使用PL/pgSQL中的函数重载.我们每个(模式,名称)元组总是有一个函数.因此,我们只想按名称删除函数,更改其签名而不必先删除它等.例如,考虑以下函数:

CREATE OR REPLACE FUNCTION myfunc(day_number SMALLINT)
RETURNS TABLE(a INT)
AS
$BODY$
BEGIN
  RETURN QUERY (SELECT 1 AS a);
END;
$BODY$
LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)

为了节省时间,我们想按如下方式调用它,而不用限定1 ::SMALLINT,因为只有一个名为myfunc的函数,它只有一个名为day_number的参数:

SELECT * FROM myfunc(day_number := 1)
Run Code Online (Sandbox Code Playgroud)

没有歧义,值1与SMALLINT类型一致,但PostgreSQL抱怨:

SELECT * FROM myfunc(day_number := 1);
Run Code Online (Sandbox Code Playgroud)
ERROR:  function myfunc(day_number := integer) does not exist
LINE 12: SELECT * FROM myfunc(day_number := 1);
                       ^
HINT:  No function matches the given name and argument types.
You might need to add explicit type casts.
Run Code Online (Sandbox Code Playgroud)

当我们从Python调用这些函数时,我们使用一个包装器来查找函数的签名并使用类型限定参数.这种方法有效,但似乎有可能改进.

有没有办法完全关闭功能重载?

postgresql types casting plpgsql postgresql-9.3

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