Python实现扫描指定目录下的子目录及文件的方法

yipeiwu_com6年前Python基础

本文介绍了使用Python来扫描指定目录下的文件,或者匹配指定后缀和前缀的函数。步骤如下:

如果要扫描指定目录下的文件,包括子目录,需要调用scan_files("/export/home/test/")

如果要扫描指定目录下的特定后缀的文件(比如jar包),包括子目录,调用scan_files("/export/home/test/", postfix=".jar")

如果要扫描指定目录下的特定前缀的文件(比如test_xxx.py),包括子目录,调用scan_files("/export/home/test/", postfix="test_")

具体实现代码如下:

#!/usr/bin/env python
#coding=utf-8
 
import os
 
def scan_files(directory,prefix=None,postfix=None):
  files_list=[]
   
  for root, sub_dirs, files in os.walk(directory):
    for special_file in files:
      if postfix:
        if special_file.endswith(postfix):
          files_list.append(os.path.join(root,special_file))
      elif prefix:
        if special_file.startswith(prefix):
          files_list.append(os.path.join(root,special_file))
      else:
        files_list.append(os.path.join(root,special_file))
              
  return files_list

相关文章

python 域名分析工具实现代码

代码如下: 复制代码 代码如下:import sys, urllib import datetime,time def getDate(): strday=datetime.dateti...

在python中用print()输出多个格式化参数的方法

不废话,直接贴代码: disroot = math.sqrt(deta) root1 = (-b + disroot)/(2*a) root2 = (-b - disroot)/(2...

Python Series从0开始索引的方法

如下所示: b.reset_index(drop=True) reset_index代表重新设置索引,drop=True为删除原索引。 以上这篇Python Series从0开始索...

如何利用Boost.Python实现Python C/C++混合编程详解

前言 学习中如果碰到问题,参考官网例子: D:\boost_1_61_0\libs\python\test 参考:Boost.Python 中英文文档。 利用Boost.Python...

Python求两个文本文件以行为单位的交集、并集与差集的方法

本文实例讲述了Python求两个文本文件以行为单位的交集、并集与差集的方法。分享给大家供大家参考。具体实现方法如下: s1 = set(open('a.txt','r').readl...