小编Jes*_*ose的帖子

如何从字典中修复字典中的默认值?

我正在使用解析为python字典的JSON库解析JSON请求.由于请求是用户生成的,我需要修复未提供的参数的默认值.其他语言有像三元运算符这样的东西,对重复的应用程序有意义.但是下面的代码每个参数需要4行.

if "search_term" in request.keys():
    search_term=request['search_term']
else:
    search_term=""
if "start" in request.keys():
    start=request['start']
else:
    start=0
if "rows" in request.keys():
    rows=request['rows']
else:
    rows=1000000
Run Code Online (Sandbox Code Playgroud)

是否有Pythonic方法来减少代码行或使其更具可读性?


编辑:(顶部)答案都同样有用.我在不同的情况下使用过它们

python

5
推荐指数
2
解决办法
467
查看次数

对getter和setter的JavaBean属性命名感到困惑

我正在制作一个使用Drools计划器的应用程序.

@ValueRangeFromSolutionProperty假设指代属性从另一个类(NQueens在这种情况下).来自@ValueRangeFromSolutionPropertyJavaDocs:

propertyName

    The property name of which exists a getter on the Solution that returns a Collection. 
Run Code Online (Sandbox Code Playgroud)

但我注意到一个不一致的地方:注释器使用了rowList来自的属性NQueens.但是rowList(相反RowList)是一个私有变量(参见下面的片段).如果它应该通过内省推断出一个属性(来自它的getter和setter方法),那么它是不是应该拼写RowListgetRowList()

问题: Java如何从getter方法推断(内省)属性名称(case和all)?

或者直接@ValueRangeFromSolutionProperty访问私有变量?


背景细节:From Queen.java,代表棋盘上的女王的类:

public class Queen extends AbstractPersistable {
....
@ValueRangeFromSolutionProperty(propertyName = "rowList")
public Row getRow() {
    return row;
....
Run Code Online (Sandbox Code Playgroud)

NQueens.java,@ValueRangeFromSolutionProperty获取它的属性的类来自:

public class NQueens extends AbstractPersistable implements …
Run Code Online (Sandbox Code Playgroud)

java javabeans drools-planner

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

哪些NoSQL数据库在数据级别强制执行参照完整性?

关系数据库使用键来执行此操作,并且发生在(非常令人放心的)数据级别。文档数据库必须在应用程序级别执行它。

RDB确实强制执行参照完整性。如果两个人之间的关系,如果一个人被删除,则该关系将自动不复存在(我提到的是ON DELETE CASCADE)。如果父类别被删除,则其子类别也将不复存在。

NoSQL存储最能实现参照完整性的是图数据库,例如Neo4j。在此,边缘直接存在于两个节点之间。因此,如果删除节点,则边缘也将删除。


我一直在阅读图形和文档存储,并且我认为NoSQL数据库将努力实现参照完整性(并且图形数据库已经接近)。

问题:哪些NoSQL数据库在数据级别具有参照完整性

nosql

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

如何在Solr中对组求和?

我想知道如何在solr中像sql一样执行此操作?

select sum(Col1) group by Col2,Col3
Run Code Online (Sandbox Code Playgroud)

我可以像select sum(Col1) group by Col2在solr中一样解决问题。(http://wiki.apache.org/solr/StatsComponent)您能帮我吗?

solr group-by sum

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

使用 LXML xml 设置没有值的属性

我想要:

<div data-a>
Run Code Online (Sandbox Code Playgroud)

但 LXML API 似乎只给了我这个:

<div data-a=''>
Run Code Online (Sandbox Code Playgroud)

我如何获得无价值的属性?


令人讨厌的是,LXML 将空白值和空值表示为空白字符串。

设置 None 值没有帮助。

In [19]: from lxml.html import fromstring, tostring

In [20]: b = fromstring('<body class="meow" data-a="haha" data-b data-x="">text-fef27e87389e466fb99b5421629323f6</body>')

In [21]: b.attrib
Out[21]: {'data-a': 'haha', 'data-x': '', 'data-b': '', 'class': 'meow'}

In [22]: b = fromstring('<body class="meow" data-a="haha" data-b data-x="">text-fef27e87389e466fb99b5421629323f6</body>')

In [23]: b.attrib
Out[23]: {'data-a': 'haha', 'data-x': '', 'data-b': '', 'class': 'meow'}

In [24]: b.attrib['data-y'] = None
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-24-1f55133e3dc4> in <module>()
----> …
Run Code Online (Sandbox Code Playgroud)

python lxml

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

请解释Zeromq eventloop

如何通过POLLIN多路复用多个插座?

while True:
    socks = dict(poller.poll())

    if socks.get(control_receiver) == zmq.POLLIN:
        ...

    if socks.get(work_receiver) == zmq.POLLIN:
        ...
Run Code Online (Sandbox Code Playgroud)

它如何使监听线程更可靠,更易于处理?


背景:我正在推动自己的API服务器,并想知道如何制作控制器(从外部源接收请求的部分和来自工作人员的控制信号)

zeromq

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

如何使用正确的进程名运行python进程?

我在Python中有一些长期过程和临时过程.虽然以自己的名义运行shell和C程序,所有的Python进程运行为"蟒蛇filename.py",这使得它很难识别过程.

如何让python进程在Linux中显示为"logserver.py"等?我在Ubuntu 11.10中使用Python 2.7.

python linux

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

遗传算法与时间表的模拟退火

我正在开发一个时间表应用程序.遗传算法与模拟退火的相对优势是什么?


我有这些针对我的情况的要点:

  1. 在一次,我们一次性分配最多(3名教师X 6小时)X(3班X每周工作35小时),我们正在迭代地建立时间表.

  2. 将会有不可能的状态,并且必须在没有应用程序卡住的情况下通知任何不可能的时间表 - 我们希望将此应用程序推向极限.

  3. 它必须以恒定时间返回结果或报告失败.

simulated-annealing genetic-algorithm

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

通过字典键获得的列表顺序()

我可以期望keys()保持相同的顺序吗?

我计划将它们用于下拉框,如果我在字典中添加或删除项目,我不希望它们转移.

python

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

paramiko为失败的连接抛出了什么错误/异常?

如果失败:

ssh = paramiko.SSHClient()
ssh.connect( host, username = USER , pkey = MY_KEY, timeout = 2)
Run Code Online (Sandbox Code Playgroud)

我得到一个追溯像:

  File "<stdin>", line 1, in <module>
  File "<stdin>", line 7, in bs_process
  File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 282, in connect
    for (family, socktype, proto, canonname, sockaddr) in socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
socket.gaierror: [Errno -2] Name or service not known
Run Code Online (Sandbox Code Playgroud)

我无法确定Paramiko为错误的连接尝试抛出了什么类型的错误.哪些是异常类,如何导入它们?

python paramiko

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