我用Flickr从Python下载图像(我的收藏夹),但是当我执行此过程时,我想检查图像是否已经下载。 我尝试在TXT文件上写下载文件的ID并检查它,但是没有用。
e.g 我下载了我标记为收藏的最后5张图片,我已经下载了它们,但我标记了另一张图片,所以N1还没有下载,但是其他4张都有,所以我只想下载&#34 ;缺失"一个,而不是另外四个。
我得到图像的部分,但是if不起作用:
for item in pics:
if item['id'] in open("id.txt").read():
print "Exists"
else:
file.write(item['id'] + "\n")
image = str("http://www.flickr.com/" + item['owner'] + "/" + item['id'] + "/sizes/l/")
website = urllib2.urlopen(image)
html = website.read()
links = re.findall('"((http)s?://.*?)"', html)
filter = links[0][0]
end = filter.replace("_m.jpg", "_b.jpg")
urllib.urlretrieve(end, "FlickFavorite(" + str(n) + ").jpg")
print ult
n += 1
非常感谢您的帮助!
答案 0 :(得分:2)
import os
os.path.isfile(file_to_check)
将完成任务。
os.path.exists(file_to_check)
也可以,但对于目录也会返回true。这可能不是你想要的。
如果要检查已知目录中的多个文件,一种方法是:您可以使用
获取文件(和目录)列表file_list = os.listdir(directory_to_check)
然后遍历文件列表,可能检查列表中您感兴趣的文件名是否匹配,然后检查每个文件是否存在。