gpt4 book ai didi

python - try block 之前的语句等待直到try完成执行

转载 作者:行者123 更新时间:2023-11-28 22:00:52 25 4
gpt4 key购买 nike

我写了一个简单的 Python (3.2) 脚本来下载一系列文件。它完成了工作,但是 try block 之前的第一个打印语句在文件下载开始之前不会执行。我希望看到“正在下载 1...”,然后等待几分钟,然后它会打印“成功!”或“失败!”然后。但是,这一切都是在文件下载后同时发生的。它仍然以正确的顺序打印(即“正在下载 1...成功!”),但我终究无法弄清楚为什么它会挂起。

from urllib import request

for i in range(1,35):
url = "http://example.com/" + str(i) + ".mp4"
print("Downloading " + str(i) + "...", end='') #this doesn't happen until after the try
try:
resp = request.urlopen(url)
local = open(str(i) + '.mp4', 'wb')
local.write(resp.read())
local.close()
print("SUCCESS!")
except:
print("FAILURE!")

最佳答案

这与 try block 无关。输出发生得很好,但它被缓冲了。您的终端很可能是行缓冲的,这意味着在相应行完全输出之前您不会看到输出。您可以明确地刷新它:sys.stdout.flush()

关于python - try block 之前的语句等待直到try完成执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14084352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com