zoukankan      html  css  js  c++  java
  • Python 扫面文件夹中的文件

     1 #coding=utf-8
     2 import os,sys
     3 reload(sys)
     4 sys.setdefaultencoding("utf-8")
     5 def scan_files_sub_dir(directory,prefix=None,postfix=None):
     6     files_list=[]
     7     for root, sub_dirs, files in os.walk(directory):
     8         for special_file in files:
     9             if postfix:
    10                 if special_file.endswith(postfix):
    11                     files_list.append(os.path.join(root,special_file))
    12             elif prefix:
    13                 if special_file.startswith(prefix):
    14                     files_list.append(os.path.join(root,special_file))
    15             else:
    16                 files_list.append(os.path.join(root,special_file)) 
    17     return files_list
    18 files  = scan_files_sub_dir(".",None,".txt")
    19 print files
    20 
    21 def scan_files(directory,prefix=None,postfix=None):
    22     files_list=[]
    23     for file in os.listdir(directory):
    24         if postfix:
    25                 if file.endswith(postfix):
    26                     files_list.append(file)
    27         elif prefix:
    28             if file.startswith(prefix):
    29                 files_list.append(file)
    30         else:
    31             files_list.append(file) 
    32     return files_list
    33 files  = scan_files(".",None,".txt")
    34 print files

     另一种方法:

    import os
    def get_file_lists(init_dir,postfix=None):
        file_lists = []
        if not os.path.exists(init_dir):
            print('%s not exist'%init_dir)
            return file_lists
        if not os.path.isdir(init_dir):
            print('%s not dir'%init_dir)
            return file_lists
        for file in os.listdir(init_dir):
            path = "%s\%s"%(init_dir,file)
            if postfix and not file.endswith(postfix) and os.path.isfile(path):
                continue
            if not os.path.isdir(path):
                file_lists.append(path)
            if os.path.isdir(path):
                file_lists.extend(get_file_lists(path,postfix))
        return file_lists
    
    file_lists = get_file_lists(r'D:Program FilesJava','java')
    
    file_writer = open('list.txt','w',encoding='utf-8')
    for file in file_lists:
        file_writer.write("%s
    "%file)
    file_writer.close()
  • 相关阅读:
    SET ROWCOUNT,SET NOCOUNT
    JS是按值传递还是按引用传递?
    Debug目录、Release目录,bin目录、obj目录,vshost.exe.config文件、.exe.config文件分析【C#】
    写window应用程序日志System.Diagnostics.EventLog.WriteEntry
    X-UA-Compatible设置兼容模式
    Linq的Distinct方法的扩展
    SQL Server 系统表简介
    sql server 常用的系统存储过程
    C# Timer用法及实例详解
    ASP.NET MVC内置的Filter实现介绍
  • 原文地址:https://www.cnblogs.com/tangxin-blog/p/5513206.html
Copyright © 2011-2022 走看看