如何让Python代码按指定次数循环?while循环使用问题求助
问题排查与修正方案
核心错误点
- 需要重复执行的图片下载、命名逻辑全部写在了while循环外部,你写的循环内部只有打印数字的逻辑,自然只会生成1张图片
urllib.request.urlretrieve()的第二个参数为空,下载的图片不会自动写入你后续创建的image%s.jpg文件,你创建的文件是空的也没有执行写入、关闭操作
可直接运行的修正代码
import urllib.request import os loop_count = 0 # 循环10次的条件 while loop_count < 10: # 每次循环都重新查找可用的不重复文件名 file_index = 0 while os.path.exists(f"image{file_index}.jpg"): file_index += 1 # 直接下载图片到对应路径,无需额外打开文件 urllib.request.urlretrieve("https://websitewithimageonit.com/", f"image{file_index}.jpg") # 输出当前循环次数,和你之前的输出效果一致 print(loop_count + 1) loop_count += 1
逻辑说明
修正后的代码将完整的图片下载、命名逻辑放到了while循环内部,每轮循环都会执行一次完整的图片保存操作,10次循环运行结束后会生成10张不重名的图片。
内容的提问来源于stack exchange,提问作者user16815439
相关产品推荐
相关产品推荐

