小编lps*_*lps的帖子

python,mongoengine - 喜欢/正则表达式搜索

我知道我可以在mongodb上进行全局类型搜索:

db.person.find({ name: /*.bob.*/ })
Run Code Online (Sandbox Code Playgroud)

要么

db.person.find({ name: { $regex: '*.bob.*' }})
Run Code Online (Sandbox Code Playgroud)

如何使用mongoengine而不使用原始查询(这显然是基于我的搜索的唯一方法)?

我盲目地尝试了几种变体,如:

Person.objects(name='/.*bob.*/')
Person.objects(name='/\.*bob\.*/')
Person.objects(name='.*bob.*')
Person.objects(name='\\.*bob\\.*')
Run Code Online (Sandbox Code Playgroud)

等等,无济于事......

python mongoengine

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

使用AWS预先签名的URL获取JSON响应

我能够像这样生成一个预先签名的URL

import boto3
s3 = boto3.client('s3')
url = s3.generate_presigned_url( ClientMethod='list_objects', Params={'Bucket':'bucket-name'} )

# now get the listing
import requests
r = requests.get(url)

# r.status_code is 200
# Problem:  r.text output is in XML format
Run Code Online (Sandbox Code Playgroud)

当我直接调用时,s3.list_objects(Bucket='bucket-name')我得到了JSON中的响应.生成URL时无法指定内容类型.我已尝试使用更新请求的标头accept: application/json,但这会导致AWS出现"SignatureDoesNotMatch"错误.

最终我将使用javascript的URL客户端.这个例子只是为了说明问题.

使用预签名URL时(如果使用boto),如何在JSON中获得响应?似乎应该是可能的.

amazon-s3 boto3

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

sed 命令替换部分中“,$d”的含义

我在我正在从事的项目中遇到了这个命令:

sed -i '/regex/,$d' file

我不明白这,$d部分是如何工作的。如果我省略任何部分,,$d我就会出错。在我的测试中,它看起来像什么都没有替换匹配的行和它之后的任何内容。例子:

包含内容的文件:

first line 
second line regex
third line
fourth line
Run Code Online (Sandbox Code Playgroud)

运行该命令后出现:

first line
Run Code Online (Sandbox Code Playgroud)

我在手册页中找不到任何解释这一点的文档,尽管我很容易错过它。手册页对我来说很难解析......

这是使用GNU Sed v 4.2.2.

sed

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

标签 统计

amazon-s3 ×1

boto3 ×1

mongoengine ×1

python ×1

sed ×1