|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我在写python零基础入门第30讲的课后习题第2课,想用递归的方式
import os
dir_top = input('要搜索的目录:')
name = input('要搜索的文件')
def search(dir_top,name):
f = os.listdir(dir_top)
for i in f:
if os.path.isdir(i):
search(i,name)
else:
if i == name:
m = os.path.join(os.getcwd(),i)
print(m)
search(dir_top,name)
可程序执行没有反应,连报错都没有,然后我简化了代码,想看一下问题出在哪里
import os
dir1 = '/Users/jinxin/Desktop/Python 学习/class'
f = os.listdir(dir1)
print(f)
for i in f:
if os.path.isdir(i):
print(i + '是个目录')
改成这样还是没有反应。程序执行到print(f)就结束了,解释器输出(['.DS_Store', '函数', 'IO', '数据类型']),for循环后面的语句就是不执行。
- import os
- dir_top = input('要搜索的目录:')
- name = input('要搜索的文件')
- def search(dir_top,name):
- f = os.chdir(dir_top) #校准目录
- for i in os.listdir(f):
- if os.path.isdir(i):
- search(i,name)
- os.chdir(os.pardir) #要递归回去啊
- #else:
- if i==name:
- m = os.path.join(os.getcwd(), i)
- print(m)
- search(dir_top,name)
复制代码
|
|