python中的此函数将文件下载到AWS S3存储桶。我有,我想不是窝三个“如果”,这样的代码可以更清晰可读的代码有问题:如何重构此代码以便嵌套不超过3个“if”
for fileinfo in response['Contents']:
if key in fileinfo['Key']:
if '/' in fileinfo['Key']:
filekeysplit = fileinfo['Key'].rsplit('/', 1)
if filekeysplit[1] == '':
continue
if not os.path.exists(file):
os.makedirs(file)
fileout = os.path.join(file, filekeysplit[1])
self._s3.download_file(bucket, fileinfo['Key'], fileout)
else:
self._s3.download_file(bucket, fileinfo['Key'], file)
如何做到这一点?谢谢
1)重复的'self._s3.download_file'也应该固定好...... 2)日志应该建立在工作功能之上......不要混合它。 –
那么以'/'结尾的键是无效的,应该跳过? –