Python搜索文件代碼

cdfd 9年前發布 | 897 次閱讀 Python

這里以在windows下搜索并啟動QQ為例,我先把開始菜單、桌面和快速啟動欄找了一遍,這樣能縮短查找時間。如果找不到再到每個分區中查找。 

    import os  
    disk=['D','E','F','G','H']  
    def search_file(filename,search_path,pathsep=os.pathsep):  
        for path in search_path.split(pathsep):  
            candidate = os.path.join(path,filename)  
            if os.path.isfile(candidate):  
                return os.path.abspath(candidate)  
    if __name__=='__main__':  
        found=False  
        for i in os.walk('C:\ProgramData\Microsoft\Windows\Start Menu\Programs'):  
            search_path=i[0]  
            find_file=search_file('騰訊QQ.lnk',search_path)  
            if find_file:  
                os.startfile(find_file)  
                found=True  
        if not found:  
            for i in os.walk('C:\Users\Jack\Desktop'):  
                search_path=i[0]  
                find_file=search_file('QQ.exe.lnk',search_path)  
                if find_file:  
                    os.startfile(find_file)  
                    found=True  
        if not found:  
            for i in os.walk('C:\Users\Jack\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch'):  
                search_path=i[0]  
                find_file=search_file('騰訊QQ.lnk',search_path)  
                if find_file:  
                    os.startfile(find_file)  
                    found=True  
        if not found:  
            for i in range(0,5):  
                for j in os.walk(disk[i]+':/'):  
                    search_path=j[0]  
                    find_file=search_file('QQProtect.exe',search_path)  
                    if find_file:  
                        os.startfile(find_file)  
                        found=True  
        if not found:  
            for i in os.walk('C:/Program Files/QQ'):  
                search_path=i[0]  
                find_file=search_file('QQProtect.exe',search_path)  
                if find_file:  
                    os.startfile(find_file)  
                    found=True  
        if not found:  
            print"無法找到QQ"  

 本文由用戶 cdfd 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!