小智 85
import os
import os.path
for dirpath, dirnames, filenames in os.walk("."):
    for filename in [f for f in filenames if f.endswith(".log")]:
        print os.path.join(dirpath, filename)
Sha*_*hin 13
您还可以将glob模块与os.walk一起使用.
import os
from glob import glob
files = []
start_dir = os.getcwd()
pattern   = "*.log"
for dir,_,_ in os.walk(start_dir):
    files.extend(glob(os.path.join(dir,pattern))) 
仅使用(嵌套)列表理解的单行解决方案:
import os
path_list = [os.path.join(dirpath,filename) for dirpath, _, filenames in os.walk('.') for filename in filenames if filename.endswith('.log')]
| 归档时间: | 
 | 
| 查看次数: | 67491 次 | 
| 最近记录: |