如何检查文件是否已存在,如果没有,请在Python上下载?

时间:2015-01-26 03:44:49

标签: python json image parsing

我用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

非常感谢您的帮助!

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)

然后遍历文件列表,可能检查列表中您感兴趣的文件名是否匹配,然后检查每个文件是否存在。