python - 如何在查询 dynamodb 时使用 sys.argv
问题描述
我有一些程序如下
import boto3
from boto3.dynamodb.conditions import Key, Attr
import sys
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('g_data')
#var1 = sys.argv[1]
data = table.scan(
FilterExpression=Attr('customer_id').eq(1))
print(data['Items'][0]['customer_id'])
print(data['Items'][0]['tools_type']['antivirus'])
它在下面一行硬编码客户 ID 时有效
FilterExpression=Attr('customer_id').eq(1))
但是如果我这样提到,我想通过运行时 sys.argv 传递这个客户 ID
FilterExpression=Attr('customer_id').eq(var1))
我收到如下错误:
Traceback (most recent call last):
File "C:\csv\abdynmodb\abdynamodb1.py", line 15, in <module>
print(data['Items'][0]['tools_type']['antivirus'])
IndexError: list index out of range
解决方案
推荐阅读
- c# - Sitecore Solr 查询:字段名称翻译文化问题
- immutable.js - 将不可变地图中的数据投影到不同的形状
- reactjs - 如何在“连接(提供者)”问题(ReactJs、Redux、SimpleWebRTC)的上下文或道具中修复“找不到“商店”?
- android - 创建了 android 模块,尝试引用布局但不能
- c++ - VS 代码调试器不打开终端
- asp.net-mvc - 为什么身份验证在某些浏览器中有效,而在其他浏览器中无效
- python - Strange characters, Python said TypeError: ord() expected a character, but string of length X found
- fish - 带有鱼壳的标签完整的herbstclient?
- jquery - $(this).closest('h5').find('.comment').text 返回“”(无)
- c# - 使用 SkipWhile 时的 C# 无限循环