练习想做一个找当前目录以及子目录中匹配指定字符串的小程序.代码如下:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#author: Lemon
import os
dirlist = []
def search(filename,path):
for x in os.listdir(path):
if os.path.isdir(x):
dirlist.append( os.path.abspath(x) )
elif filename in x:
print(os.path.abspath(x))
while len(dirlist)>0 :
search(filename,dirlist.pop())
if __name__ == '__main__':
search('qqww','.')
然后在 /home/lemon/learnPython 目录下有一个 qqwwqq 的测试文件. 可是执行后输出一直是 /home/lemon/qqwwqq 可以保证 /home/lemon 目录下绝对没有 qqwwqq 这个文件.
1
mdzz 2017-05-11 21:21:44 +08:00
踩过这个坑,os.listdir(path) 的结果需要处理一下才是完整路径
full_path = os.path.join(path, x) |
2
264768502 2017-05-12 07:52:56 +08:00 via Android 1
遍历目录可以用 os.walk,这样就不用递归了
|