写在前面
这几天去面试了,第一家是个pianzi公司,有一道面试题,记录一下。
题目
- 给定输入:当前文件夹路径,需要查找的字符串名字
- 给定输出:当前文件夹下所有包含指定名的文件绝对路径
解题代码
import os
result = []
def search(path='.', fname=""):
# 遍历当前文件夹下面的所有文件
for item in os.listdir(path):
# 遍历时,拼接好当前文件的路径
item_path = os.path.join(path, item)
# 如果当前文件类型为文件夹
if os.path.isdir(item_path):
# 调用自身search递归查找
search(item_path, fname)
# 如果当前文件为文件
elif os.path.isfile(item_path):
# 判断fname是否在item中
if fname in item:
# 如果在,将该文件路径加入结果reslut中
global result
result.append(item_path+';')
if __name__ == "__main__":
search(path='/Users/yuanjun/downloads', fname='kuai')
print(result)
# 输出
['/Users/yuanjun/downloads/kuaijicike.2016.美国.动作犯罪.BD720P.mkv;']
网友评论