小编Jav*_* C.的帖子

如何使用Python unittest assertRaises来测试该函数不会抛出任何异常?

我正在尝试使用unittest模块测试某个函数是否不会抛出任何异常.这可能吗?我只知道assertRaises方法,但这只是测试抛出异常,而None参数不适用于Exception类型参数...

有任何想法吗?

python unit-testing assertions

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

联合中的SQL和行

我试图在UNION中从不同的SQL查询中获取两行,这可能吗?我所能实现的只是两个独立的行,但我无法对它们进行求和,DB引擎让我告诉*)FROM(SUM旁边的部分)附近的语法中有错误...

这是查询:

SELECT * FROM

(SELECT COUNT(*) as cntclients                                                                                               
   FROM                                                                                                                      
   (SELECT DISTINCT clientkey AS clients                                                                                     
      FROM <table>
     WHERE <conditions...>)                                                                                                                 
   ) AS clients                                                                                                              
) cntclients

UNION

(SELECT SUM(occurrences) AS cntclientsad                                                    
   FROM <table2>
   WHERE <conditions...>                                     
)
Run Code Online (Sandbox Code Playgroud)

这让我举个例子:

cntclients
----------
901
50
Run Code Online (Sandbox Code Playgroud)

在第一行中添加SELECT SUM(*)FROM而不是SELECT*FROM,并用括号括起两个查询只会引发我提到的错误...

我想要

cntclients <- or whatever name...
----------
951
Run Code Online (Sandbox Code Playgroud)

有什么想法应该如何运作?

mysql sql union sum

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

MySQL双表加入双表

有没有办法从MySQL中的虚拟DUAL表中加入字段?

说我有一个

SELECT 1 as n1 FROM DUAL

n1
--
 1
Run Code Online (Sandbox Code Playgroud)

和a

SELECT 2 as n2 FROM DUAL

n2
--
 2
Run Code Online (Sandbox Code Playgroud)

我可以加入两种选择加入某种查询作为...

SELECT 1 as n1 FROM DUAL JOIN (SELECT 2 as n2 FROM DUAL) ON 1=1
Run Code Online (Sandbox Code Playgroud)

mysql join dual-table

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

SQLAlchemy order_by具有int值的字符串列

我有一个带有String列的表,但它仅包含整数(作为字符串)。

问题是当我想在某些查询上对这一列进行order_by时。SQLAlchemy(或更具体地说,是python)对字符串使用字典顺序,因此

>>> '100000' < '99999'
True
Run Code Online (Sandbox Code Playgroud)

即使在

>>> 100000 < 99999
False
Run Code Online (Sandbox Code Playgroud)

如何通过此字符串列的数值实现order_by?

我目前有这样的查询:

session.query(TableName).filter(TableName.column == 'some_value').order_by(TableName.string_column_holding_integers).all()
Run Code Online (Sandbox Code Playgroud)

请注意,将列的类型更改为整数不是一种选择,我需要在当前条件下正确地按数字排序(按数值)。

也只是发现直接在使用SQL的数据库(此数据库是MySQL数据库)上无法正确地按此列排序,因此我发现使用CAST(未签名的string_column_holding_integers AS)可以在此工作。但是还没有找到一种直接对SQLAlchemy查询执行此操作的方法(CAST部分)。

python mysql sqlalchemy lexicographic

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

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

如何在列表中查找元素,该元素是Python中另一个列表中另一个元素的一部分

我有这个清单:

dc = ["hello", "world"]
Run Code Online (Sandbox Code Playgroud)

而另一个:

lines = ["This is", "an example of hello", "line in the world of strings", "Testing"]
Run Code Online (Sandbox Code Playgroud)

我希望在直流上找到那些属于线条任何元素的元素......

我可以将行循环为:

for line in lines:
    # what to do here?
Run Code Online (Sandbox Code Playgroud)

但我不知道如何确切地找到dc中的"hello"元素可以在"hello的例子"中找到,或者在"字符串世界中的行"中找到dc中的"world"在线......

也许我不应该循环线?

python list find

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

python strptime的自定义格式指令

我必须收到一个字符串,表示通过time.strptime处理的日期,其格式类似于%d%m%Y,但事实是当日期数小于10时,那一天将显示为一位数数字,而不是%d格式所需的两位数.

这意味着

'8052012'
Run Code Online (Sandbox Code Playgroud)

将被转换为

day 08, month 05, year 2012
Run Code Online (Sandbox Code Playgroud)

但随着字符串

'2052012'
Run Code Online (Sandbox Code Playgroud)

strptime给了我

day 20, month 5, year 2012
Run Code Online (Sandbox Code Playgroud)

代替

day 2, month 5, year 2012
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个默认行为?(也许是为了强迫%m应该是一个2位数字,所以strptime将没有选择使用当天剩下的东西?)

编辑:请注意,在输入字符串上,月份总是有两位数,即使它可以用一个数字表示.这里的问题只是可以用一个或两个数字表示的那一天,具体取决于幅度......

python time strptime string-to-datetime

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

迭代多个python列表中的元素

如何以最pythonic的方式迭代多个列表?

说我有2个列表:

l1 = [1, 2, 3]
l2 = [4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

如何在不改变l1和l2的情况下实现l1和l2中整个元素集的迭代?

我可以简单地加入两个列表然后迭代结果:

l3 = l1[:]
l3.extend(l2)
for e in l3:
  # ... whatever with e
Run Code Online (Sandbox Code Playgroud)

但是这个解决方案听起来并不像pythonic,也没有效率,所以我正在寻找更好的方法.

python iteration

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

RegEx表示由"和"分隔的组字符串

我有一个类型的字符串:

"04/15/2013","A lot of text: numbers 123,412","3,123.99","-","1,123,123,99"
Run Code Online (Sandbox Code Playgroud)

什么是正则表达式来解析它,以便我得到每个逗号分隔的字符串(由"分隔"的字符串)进行进一步解析?

我对使用python的正则表达式模块感兴趣,但是如果给出了更好的解决方案,那就没关系了

python regex

0
推荐指数
1
解决办法
111
查看次数