2012-11-15 88 views
0

如果文件已經存在,我需要在python中創建一個跳過函數,跳過我的下載代碼。如果文件已經存在,Python跳過一個函數

怎樣的功能應該工作: (如果存在該文件無需運行這段代碼,就跳到下一個代碼 如果它不存在,然後運行該代碼,然後運行下面的代碼。)

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

你或許可以使用答案[我如何檢查文件是否存在使用Python?](http://stackoverflow.com/questions/82831/how-do-i-check-if-a-file-exists-using-python) –

回答

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

我猜這就是你的意思,雖然這是非常難以判斷。

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") 

僅供參考,如果你使用requests你不需要httpRequestFile,所以您可以簡化代碼:

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

如果該文件存在? – user1823753

+0

_如果文件存在? – katrielalex

+0

所以你的意思是,它應該看起來像這樣?查看我的更改 – user1823753

相關問題