python - 为什么文件搜索时递归不完全?
大家讲道理
大家讲道理 2017-04-18 09:50:23
0
1
543
import os #os.chdir('C:\Users\Administrator\Desktop\\TEST') def search(keyword,pathname): for f in os.listdir(pathname): if os.path.isfile(f): if keyword in f: print os.path.join(pathname,f) if os.path.isdir(f): os.chdir(os.path.join(pathname,f)) pathname=os.getcwd() search(keyword,pathname=os.getcwd()) if __name__ == "__main__": keyword=raw_input('input:') pathname=os.getcwd() search(keyword,pathname)

本人欲用递归的方式查询并输出文件名中含有关键词的文件,可是此处代码运行后却只能搜索当前目录下的文件,而符合要求的二级、三级目录内的文件却无法检验出?已修改多次,然问题依旧,请相关爱好者及行业从业者交流、指正,谢谢!

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆 (1)
小葫芦

路徑問題,注意檔案的path是指完整的路徑,而不是os.listdir中的字串,修正後的程式如下:

import os def search(keyword,pathname): for f in os.listdir(pathname): real_path = os.path.join(pathname,f) if os.path.isfile(real_path): if keyword in f: print real_path if os.path.isdir(real_path): search(keyword,real_path) if __name__ == "__main__": keyword=raw_input('input:') pathname=os.getcwd() search(keyword,pathname)
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!