【发布时间】:2018-07-09 13:45:14
【问题描述】:
这是我的 python 脚本,它从我的 S3 存储桶中下载最新的图像。当我使用sudo python script.py 运行此脚本时,它按预期运行,
但不是当我以python script.py 运行它时。在这种情况下,脚本干净地完成,没有异常或进程锁定,但没有图像文件。
为什么会这样?有什么我可以在博托图书馆结束或其他任何事情上做的吗?
import boto
import logging
def s3_download():
bucket_name = 'cloudadic'
conn = boto.connect_s3('XXXXXX', 'YYYYYYY')
bucket = conn.get_bucket(bucket_name)
for key in bucket.list('ocr/uploads'):
try:
l = [(k.last_modified, k) for k in bucket]
key = sorted(l, cmp=lambda x, y: cmp(x[0], y[0]))[-1][1]
res = key.get_contents_to_filename(key.name)
except:
logging.info(key.name + ":" + "FAILED")
if __name__ == "__main__":
s3_download()
【问题讨论】:
-
“不运行”应该是什么意思?为什么我还要一直问这个?
-
你有异常吗?你得到一个零长度的文件吗?进程是否锁定?这是什么意思?
-
@Guru 使用此信息更新您的问题。
-
您是否考虑过摆脱垃圾异常“处理”以便查看实际发生的情况?
-
另外,你绝对不只是在 this 脚本上运行
python script.py,因为它只是定义了一个函数而不调用它。请发布一个最小、完整且可验证的示例。