小编Ale*_*x Q的帖子

Python db-api:fetchone vs fetchmany vs fetchall

我今天刚与一些同事就python的db-api fetchone vs fetchmany vs fetchall进行了讨论.

我确定每个用例的用例取决于我正在使用的db-api的实现,但一般来说fetchone vs fetchmany vs fetchall的用例是什么?

换句话说是以下等价物?或者其中一个比其他的更受欢迎?如果是这样的话?

cursor.execute("SELECT id, name FROM `table`")
for i in xrange(cursor.rowcount):
    id, name = cursor.fetchone()
    print id, name


cursor.execute("SELECT id, name FROM `table`")
result = cursor.fetchmany()
while result:
    for id, name in result:
        print id, name
    result = cursor.fetchmany()


cursor.execute("SELECT id, name FROM `table`")
for id, name in cursor.fetchall():
    print id, name
Run Code Online (Sandbox Code Playgroud)

python mysql python-db-api

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

AWS Lambda:一个 Lambda 函数可以同时具有 Kinesis 和 DynamoDB Streams 的事件源吗?

一个 AWS Lambda 函数可以有两个事件源(一个 Kinesis 流和一个 DynamoDB 流)吗?

我已经查看过,但没有找到任何文档表明我可以或不能为同一个 AWS Lambda 函数拥有不同类型的事件源。

amazon-web-services amazon-kinesis aws-lambda amazon-dynamodb-streams

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

在mysql中模拟正则表达式捕获组

据我所知,MySQL不支持从正则表达式匹配中检索捕获组的值.我找到了一个服务器端扩展(lib_mysqludf_preg),它将添加此功能,但我无法在我的环境中安装此扩展.

所以,我正在寻找一种方法来模拟捕获正则表达式匹配的一部分作为SQL查询中的列.

我的数据如下所示(我无法更改服务器上的数据格式):

+-----------------------------+
| Version                     |
+-----------------------------+
| 1.2.3.4                     |
| 10.20.30.40                 |
| Obsidian-1.2.3.4            |
| Obsidian-11.21.31.41        |
| custom\Obsidian-11.21.31.41 |
| custom\11.21.31.41          |
+-----------------------------+
Run Code Online (Sandbox Code Playgroud)

我想要捕获每行的最后4位数字.数字始终是值的最后一部分,它们始终用点分隔.以下正则表达式将匹配我想要的所有值:

.*[[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+$
Run Code Online (Sandbox Code Playgroud)

我希望的结果是将每个数字作为一列捕获的函数组合,以便我可以使用查询的where子句中的数字以及能够获取版本号.

SELECT
    function1(...) as version1,
    function2(...) as version2,
    function3(...) as version3,
    function4(...) as version4
FROM Version
WHERE version1 > 5;
Run Code Online (Sandbox Code Playgroud)

regex mysql

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

使用kerberos身份验证从服务器下载文件

我正在尝试从Linux shell下载脚本,通过https来保护网络服务器,该文件受到kerberos身份验证的保护.我尝试过使用wget和curl,但这些似乎都不支持kerberos而不是https.

是否有支持kerberos over https的linux命令行实用程序?如果是这样,你如何使用它?

shell https kerberos download

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

为Amazon Alexa Connected Home技能设置Oauth的简单方法是什么?

我正在尝试使用Alexa Connected Home技能进行原型设计,其中一项要求是使用Oauth 2.0链接用户的帐户.因为我只是在构建一个原型而我没有运行Oauth服务器并且运行什么是我满足Amazon Oauth要求的最简单方法?

我已经尝试按照Alexa Connected Home CoHo Skills中使用Amazon登录提示进行操作,但无论我尝试了什么,它都会失败并显示无法提供信息.

  • 有没有人登录亚马逊与Alexa Connected Home合作?
  • 我可以使用易于使用的Oauth提供程序吗?

oauth amazon-echo

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

chroot 内的 openssl

当我尝试从 chroot 监狱内部建立 ssl 连接时,出现以下错误:

twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.
Run Code Online (Sandbox Code Playgroud)

我使用 openssl 0.9.6 和 pyopenssl 来建立 ssl 连接,并且我在 Linux (centos 5.5) 上使用适用于 python 2.4 的twisted python 库。

经过一些故障排除后,我发现 openssl 失败是因为它试图读取 /dev/random 文件,而失败是因为 chroot 内没有 /dev/random 。我已经确认,如果我在 chroot 中创建 /dev/random 文件,连接就会成功。

  • 我考虑过安装 devfs 文件系统,其中包含我的 chroot 中的 /dev/random 文件,但我的应用程序及其系统管理员有一个坏习惯,即删除 chroot 的根目录而不首先卸载所有内容。
  • 我考虑过在执行 chroot 之前从 /dev/random 文件中读取内容,但我当前的设置是在二进制文件启动之前调用 chroot,并且更改 chroot 发生的位置将对应用程序进行太大的更改我不确定何时或如何完成它。
  • 我想过在 chroot 监狱外运行一个程序,该程序仅从 /dev/random 读取并写入名为 /jail/dev/random 的命名文件管道,可以从 chroot 监狱内部访问它,但我不喜欢这样做运行一个单独的进程只是为了访问随机性源。而且,仅仅初始化 openssl 似乎过于复杂。

如果我无法从程序中访问 /dev/random ,初始化 openssl 的正确方法是什么?

python linux random openssl chroot

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