从循环中保存文件而不覆盖
Saving Files from a Loop Without Overwrite
目前我的 python 脚本(使用 'Spynner')有一个循环,其中包含:
browser.load(url)
time.sleep(5)
browser.snapshot().save('example.png')
...但问题是,每次循环循环时,它都会用新渲染的 URL 的图像覆盖先前存储的图像(每次循环 URL 都会更改 运行) 而不是制作一个新图像,与之前的图像分开。我已经创建了一个计数,但出于某种原因:
browser.snapshot().save((count)'.png')
好像不行。如何使用定义的计数作为 .save 文件名的一部分?
谢谢
试试这个
for counter,url in enumerate(urls):
browser.load(url)
time.sleep(5)
browser.snapshot().save(str(counter) + '.png')
或者只设置计数器 = 0,然后 运行 循环,每次保存后递增计数器,如下所示:-
counter = 0
for url in urls:
browser.load(url)
time.sleep(5)
browser.snapshot().save(str(counter) + '.png')
counter += 1
browser.snapshot().save('{:03d}.png'.format(count))
应该这样做。如果需要,您可以将格式运算符 (:03d
) 更改为更大的数字。
这将为您提供 000.png
、001.png
等格式的文件。仅使用 str(count)+'.png'
不会在前面填充零,从而使以后的文件处理更加困难
目前我的 python 脚本(使用 'Spynner')有一个循环,其中包含:
browser.load(url)
time.sleep(5)
browser.snapshot().save('example.png')
...但问题是,每次循环循环时,它都会用新渲染的 URL 的图像覆盖先前存储的图像(每次循环 URL 都会更改 运行) 而不是制作一个新图像,与之前的图像分开。我已经创建了一个计数,但出于某种原因:
browser.snapshot().save((count)'.png')
好像不行。如何使用定义的计数作为 .save 文件名的一部分?
谢谢
试试这个
for counter,url in enumerate(urls):
browser.load(url)
time.sleep(5)
browser.snapshot().save(str(counter) + '.png')
或者只设置计数器 = 0,然后 运行 循环,每次保存后递增计数器,如下所示:-
counter = 0
for url in urls:
browser.load(url)
time.sleep(5)
browser.snapshot().save(str(counter) + '.png')
counter += 1
browser.snapshot().save('{:03d}.png'.format(count))
应该这样做。如果需要,您可以将格式运算符 (:03d
) 更改为更大的数字。
这将为您提供 000.png
、001.png
等格式的文件。仅使用 str(count)+'.png'
不会在前面填充零,从而使以后的文件处理更加困难