|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
def seek():
while True:
#判断目录是否正确
a = input(r'请输入待查找的目录:')
if os.path.exists(a):
os.chdir(a)
target = input(r'请输入需要查找的目标文件:')
GGG(target,a)
break
else:
print('目录不存在!')
continue
def GGG(target,a):
os.chdir(a)
list = os.listdir()
for each in list:
if (each != target) and (os.path.isdir(each)):
#进入下一层文件
a = os.path.join(a , each)
print(a)
GGG(target, a)
elif each == target:
print(os.getcwd() + target)
else:
print('文件夹遍历完成:', os.getcwd())
os.chdir(os.pardir)
import os
seek()
RT。2. 编写一个程序,用户输入文件名以及开始搜索的路径,搜索该文件是否存在。如遇到文件夹,则进入文件夹继续搜索,可以搜索到该目录下所有同名的文件
一直由BUG 修不好 求帮助~~
帮你稍微改了下代码,参考下吧:
import os
def seek():
while True:
# 判断目录是否正确
a = input(r'请输入待查找的目录:')
if os.path.exists(a):
target = input(r'请输入需要查找的目标文件:')
GGG(target, a)
break
print('目录不存在!')
def GGG(target, a):
list = os.listdir(a)
for each in list:
if os.path.isdir(each):
a = os.path.join(a, each)
GGG(target, a)
a = os.getcwd()
elif each == target:
print(os.getcwd() + '\\' + target)
seek()
删去了多余的部分代码,实际上功能上仅和你代码差别在于从递归函数出来重新给 a 进行赋值,即:a = os.getcwd()
另外这里建议,导入模块都放在代码块的开头。而且你这里使用 a 来作为路径,那么就不必用 os.chird 函数了
|
|