这里以在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"
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/8237.html