相关疑难解决方法(0)

python的file.flush()到底在做什么?

我在文件对象的Python 文档中找到了这个:

flush()不一定将文件的数据写入磁盘.使用flush()后跟os.fsync()来确保此行为.

所以我的问题是:Python到底在flush做什么?我认为它强制将数据写入磁盘,但现在我发现它没有.为什么?

python io fsync output-buffering

124
推荐指数
3
解决办法
9万
查看次数

流式下载大文件与python请求中断

我在python-requests v.2.0.1中有流式下载大文件(大约1.5 GB)的问题

with open("saved.rar",'wb') as file:
    r = session.get(url,stream=True,timeout=3600)
    for chunk in r.iter_content(chunk_size=1024):
        if chunk:
            file.write(chunk)
            file.flush()
Run Code Online (Sandbox Code Playgroud)

我在我的vps上测试了几次,有时下载200mb,500mb或800mb并保存它没有任何错误.它没有达到超时,就像完成下载一样停止.

我下载此文件的主机是稳定的,因为我没有任何问题在浏览器中下载此文件.

有什么方法可以在python请求中下载大文件并且100%确定它的整个文件?

@编辑

我用urllib解决了它,问题只在于请求.无论如何,谢谢你的帮助.

python python-requests

5
推荐指数
1
解决办法
3282
查看次数

标签 统计

python ×2

fsync ×1

io ×1

output-buffering ×1

python-requests ×1