从循环中保存文件而不覆盖

时间:2015-06-05 10:55:58

标签: python spynner

目前我的python脚本(使用'Spynner')有一个循环,其中包含:

browser.load(url)
time.sleep(5)
browser.snapshot().save('example.png')

...但问题是,每次循环循环时,它会覆盖先前存储的图像,其中包含新渲染的URL的图像(每次循环运行时URL都会更改),而不是创建新图像,与前一个。我创造了一个计数,但出于某种原因:

browser.snapshot().save((count)'.png')

似乎不起作用。如何使用.save?

将定义的计数用作文件名的一部分

由于

2 个答案:

答案 0 :(得分:1)

browser.snapshot().save('{:03d}.png'.format(count))

应该这样做。如果需要,您可以将格式运算符(:03d)更改为更大的数字。

这将为您提供格式为000.png001.png等的文件。仅使用str(count)+'.png'将不会在前面填充零,从而导致以后更难处理文件

答案 1 :(得分:0)

试试这个

for counter,url in enumerate(urls):
    browser.load(url)
    time.sleep(5)
    browser.snapshot().save(str(counter) + '.png')

或者只设置counter = 0,然后运行循环,在每次保存后递增计数器,如下所示: -

counter = 0
for url in urls:
    browser.load(url)
    time.sleep(5)
    browser.snapshot().save(str(counter) + '.png')
    counter += 1