第二题
Topic source另一种实现:
import os
def find(file,PATH='.'):
for x in os.listdir(PATH):
if os.path.isfile(x) and (file in x):
print('found!',os.path.join(PATH,x))
if os.path.isdir(x):
find(file,os.path.join(PATH,x))
为什么这个方法搜不到某些子目录下的文件?
def Search(str, path='.'): for x in os.listdir(path): if os.path.isfile(os.path.join(path, x)) and (str in x): print('found!',os.path.join(path,x)) if os.path.isdir(x): Search(str,os.path.join(path,x)) 你看一下!
不能搜子目录在于isdir和isfile函数的参数,假如只写文件名,他很可能是不能识别的,因此,在判断的时候要将路径写进去isfile(os.path.join(path,file)) 我这里只写了相对路径,运行成功,不知道是不是有些地方一定需要绝对路径
- 1
jhbbbbbbbbbbb