python - Python Lambda - 打印“列表”问题,需要换行
问题描述
在返回每个用户和访问密钥后,我在打印带有新换行符的列表时遇到问题
Lambda 返回:
['Hannah', 1103, 'Nick', 126]
我希望它在每个用户和访问密钥年龄返回后返回换行符
['Hannah', 1103
'Nick', 126]
import boto3, json, time, datetime, sys
client = boto3.client('iam')
sns = boto3.client('sns')
usernames = []
mylist = []
def lambda_handler(event, context):
users = client.list_users()
for key in users['Users']:
a = str(key['UserName'])
usernames.append(a)
for username in usernames:
try:
res = client.list_access_keys(UserName=username)
accesskeydate = res['AccessKeyMetadata'][0]['CreateDate']
accesskeydate = accesskeydate.strftime("%Y-%m-%d %H:%M:%S")
currentdate = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())
accesskeyd = time.mktime(datetime.datetime.strptime(accesskeydate, "%Y-%m-%d %H:%M:%S").timetuple())
currentd = time.mktime(datetime.datetime.strptime(currentdate, "%Y-%m-%d %H:%M:%S").timetuple())
active_days = (currentd - accesskeyd)/60/60/24 ### We get the data in seconds. converting it to days
if 90 < active_days:
a = str(username)
c = int(int(round(active_days)))
mylist.append(a)
mylist.append(c)
except:
f = str('')
print(mylist)
finallist = ''.join(str(mylist))
sns_message = (finallist)
response = sns.publish(
TopicArn='arn:aws:sns:ARN',
Message= sns_message,
Subject='Access Keys which need rotating',
)
解决方案
似乎你需要某种漂亮的打印功能来做你想做的事。以下函数完全符合您的要求:
result = ['Hannah', 1103, 'Nick', 126]
def prettyprint(l):
s = '['
n_items = len(l)
for idx, item in enumerate(l):
is_str = isinstance(item, str)
s += f"'{item}'" if is_str else str(item)
if idx != n_items-1:
s += ', ' if is_str else '\n'
s += ']'
return s
print(prettyprint(result))
印刷:
['Hannah', 1103
'Nick', 126]
推荐阅读
- html - 如果 Firefox 支持 WebP,为什么 React 会加载故障转移 img src?
- mapbox-gl-js - React Map GL 在沙箱中运行时缓存错误
- regex - 如何从此正则表达式中删除哈希标签
- sql - 查询表中具有一个值但没有另一个值的所有唯一组合
- c# - 添加HttpClient
注册为瞬态,它可以有效地处理大量并发请求吗? - python - Pyinstaller --onefile 警告文件已经存在但不应该
- sql - 动态 Pivot N 行到 N 列
- mysql - 是否可以将 SQL 数据库中的特定数据导出到 word doc 中预先格式化的表格中?
- django - Django 应用程序的谷歌分析只显示根域而不是页面标题
- google-sheets - 对于 A 列中具有共同值的行,如何将唯一值应用于 A 列