这里以在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/tech/pnotes/8237.html