Python 读取指定目录下的所有子目录及所有文件
2017-05-24 14:34
826 查看
借鉴的 http://blog.csdn.net/pipisorry/article/details/46972171 但是他的代码有些问题。 在此更改后发出
扫描指定目录下的文件,或者匹配指定后缀和前缀的文件。
如果要扫描指定目录下的文件,包括子目录,调用scan_files("/export/home/test/")<
4000
/p>
如果要扫描指定目录下的特定后缀的文件(比如jar包),包括子目录,调用scan_files("/export/home/test/", postfix=".jar")
如果要扫描指定目录下的特定前缀的文件(比如test_xxx.py),包括子目录,调用scan_files("/export/home/test/", prefix="test_")
扫描指定目录下的文件,或者匹配指定后缀和前缀的文件。
如果要扫描指定目录下的文件,包括子目录,调用scan_files("/export/home/test/")<
4000
/p>
如果要扫描指定目录下的特定后缀的文件(比如jar包),包括子目录,调用scan_files("/export/home/test/", postfix=".jar")
如果要扫描指定目录下的特定前缀的文件(比如test_xxx.py),包括子目录,调用scan_files("/export/home/test/", prefix="test_")
# -*- coding:utf8 -*- import os class ScanFile(object): def __init__(self, directory, prefix=None, postfix=None): self.directory = directory self.prefix = prefix self.postfix = postfix def scan_files(self): files_list = [] for dirpath, dirnames, filenames in os.walk(self.directory): ''''' dirpath is a string, the path to the directory. dirnames is a list of the names of the subdirectories in dirpath (excluding '.' and '..'). filenames is a list of the names of the non-directory files in dirpath. ''' for special_file in filenames: if self.postfix: if special_file.endswith(self.postfix): # 判断一个字符的结尾是否是某字符 Python 内置函数 endswith() files_list.append(os.path.join(dirpath, special_file)) elif self.prefix: if special_file.startswith(self.prefix): # 判断一个字符的开始是否是某字符 Python 内置函数 endswith() files_list.append(os.path.join(dirpath, special_file)) else: files_list.append(os.path.join(dirpath, special_file)) return files_list def scan_subdir(self): subdir_list = [] for dirpath, dirnames, files in os.walk(self.directory): subdir_list.append(dirpath) return subdir_list if __name__ == "__main__": dir = r"/home/djl/project/s" #需要扫描的文件路径 scan = ScanFile(dir, postfix=".py") subdirs = scan.scan_subdir() files = scan.scan_files() print u"扫描的子目录是:" for subdir in subdirs: print subdir print u"扫描的文件是:" for file in files: print file print '--------------------------' print files print '--------------------------'
相关文章推荐
- Python 读取指定目录下的所有子目录及所有文件
- 编写一个Python程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
- python 文件和目录 当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
- 写的一个读取指定目录下的所有文件和子目录的程序
- Python_删除/创建指定目录及其下所有子目录的文件,该文件记录当前文件夹的内容
- Python 读取指定目录及其子目录下所有文件名
- Python 读取指定目录下的所有文件
- Python_删除/创建指定目录及其下所有子目录的文件,该文件记录当前文件夹的内容
- 获取指定目录及其子目录的所有文件(JAVA)
- 指定web.config让httphandler处理某目录及子目录下所有文件
- 一段可以在UNIX下,读取当前目录下所有文件(包括子目录中的文件)的文件名的程序
- python输出指定目录下所有文件(全路径),并核对md5码
- php读取指定目录文件夹下所有文件夹及文件的方法
- VC下读取文件夹目录 + 读取该目录下所有指定文件 + 把所有读取结果输出到CListBox并智能设置水平滚动条宽度
- 获得指定目录下的所有文件的列表(包括子目录下的文件)——VB2005
- python列举目录(包括子目录)下的所有文件
- 读取目录下的所有文件(包括子目录下的所有文件)
- Linux查找当前目录及其子目录下所有包含指定字符串的文件
- java 文件 读取目录下的所有文件(包括子目录)
- MFC遍历指定目录下的所有文件/文件夹(不遍历子目录)