【发布时间】:2021-07-22 15:34:42
【问题描述】:
我可以使用 subprocess.run 即时成功地 tar 文件,但由于以下错误,我无法使用 send_file 选项发送 tar 文件:
AttributeError: 'bytes' object has no attribute 'read'
使用subprocess.Popen,我能够成功地压缩和发送小文件(几乎不超过 1GB)。但是使用subprocess.Popen 压缩最大 4GB 的文件时会出现问题,因为 subprocess.Popen 正在使用内存到 tar。
所以我已移至 subprocess.run...但是由于上述错误而失败。
请找代码sn-p:
process = subprocess.run(['tar', '-cvf', '-', test_dir], stdout=subprocess.PIPE)
send_file(process.stdout, as_attachment=True, attachment_filename=test_dir.tar)
send_file 来自烧瓶框架。
对于上述内容的任何帮助将不胜感激。
【问题讨论】:
标签: python subprocess