本帖最后由 jackz007 于 2018-9-5 18:36 编辑
没有什么好办法,把程序中出错的语句加到 try ... except 语句块中。
import os
import pathlib
name = input('请输入要搜索的文件名:')
route = input('请输入要搜索的路径:')
save = []
def find_file(name,file_list):
for file in file_list:
if name in file:#判断是否有要搜索的文件,保存在新的列表中
dirname = os.path.dirname(os.getcwd())
save.append(dirname+file)
def loop(name,curdir,pardir=0):
f = false
if os.access(curdir,os.R_OK) and os.access(curdir,os.X_OK):
try:
os.chdir(curdir)
f = true
except:
pass
if f:
file_list = os.listdir(os.getcwd())
print('\n')
print(os.getcwd(),end = '\n\n')
find_file(name,file_list)
dirname = os.getcwd()
folder =[]
for file in file_list:
file_path = dirname+'\\'+file
path = pathlib.Path(file_path)
print(path)
print(path.is_dir())
if path.is_dir():
folder.append(file)
if folder == []:
if pardir ==0:
return None
else:
return os.chdir('..')
else:
for subdir in folder:
print(subdir,curdir,pardir)
loop(name,subdir,curdir)
else:
return os.chdir('..')
loop(name,route+'\\')
for file_maybe in save:
print(file_maybe)
搜索文件你为什么不用现成的 os . walk() ,可以大幅度简化你的代码,不妨参考一下有关资料。 |