2012-11-15 5 views
0

J'ai besoin de créer une fonction de saut dans python qui ignore mon code de téléchargement si le fichier existe déjà.Python sauter une fonction si le fichier existe déjà

Comment la fonction devrait fonctionner: (Si le fichier existe alors pas nécessaire d'exécuter ce code, juste sauter au code suivant Et si elle n'existe pas alors d'exécuter ce code, puis exécutez le code suivant.)

Filecheck = os.path.join(OUTPUT_FOLDER,"test"+version+"exe") 
    print Filecheck 

    if not os.path.exists(Filecheck): 


    base_url = urlJoin(LINK, + version + "_multi.exe") 
    print base_url 

    filename2 = "%s_%s_.exe" % (software.capitalize(),version) 
    original_filename = os.path.join(OUTPUT_FOLDER, filename2) 


    if writeFile(original_filename, httpRequestFile(base_url), "wb") and os.path.exists(original_filename): 
     print "Download done" 
+1

Vous pouvez probablement utiliser les réponses à [Comment puis-je vérifier si un fichier existe en utilisant Python?] (Http://stackoverflow.com/questions/82831/how-do-i-check-if-a-file-exists-using-python) –

Répondre

3
if not os.path.exists(<path-to-file>): 
    download_file() 

Je devine que c'est ce que vous voulez dire, mais il est très difficile de dire.

filename = "%s_%s_.exe" % (software.capitalize(),version) 
if not os.path.exists(os.path.join(OUTPUT_FOLDER, filename)): 
    base_url = urlJoin(LINK, + version + "_multi.exe") 
    writeFile(original_filename, httpRequestFile(base_url), "wb") 

Pour votre information, si vous utilisez requests vous n'avez pas besoin httpRequestFile, vous pouvez simplifier votre code:

import requests 
from urllib2 import urljoin 
filename = "%s_%s_.exe" % (software.capitalize(),version) 
if not os.path.exists(os.path.join(OUTPUT_FOLDER, filename)): 
    with open(filename, "wb") as fp: 
     fp.write(requests.get(urljoin(LINK, version + "_multi.exe")).content) 
+0

Que faire si le fichier existe? – user1823753

+0

_Qu'est-ce que le fichier existe? – katrielalex

+0

Vous voulez dire, ça devrait ressembler à ça? voir mes changements – user1823753

Questions connexes