python 文件操作

来源:互联网 发布:filterpro 软件下载 编辑:程序博客网 时间:2024/04/28 07:21
  1. #!/usr/bin/env python   
  2. #coding=utf-8   
  3. import os   
  4. import re   
  5. import shutil   
  6. #修改目录下文件名   
  7. def TestRename(Dir):   
  8.     for files in os.listdir("d:/work"):   
  9.         if files =='tester.log':   
  10.             filePath = os.path.join( Dir, files )   
  11.             print filePath   
  12.             os.rename(os.path.join('d://work',files), os.path.join('d://work','1.log'))   
  13. #删除目录下所有文件   
  14. def CleanDir( Dir ):   
  15.     if os.path.isdir( Dir ):   
  16.         paths = os.listdir( Dir )   
  17.         for path in paths:   
  18.             filePath = os.path.join( Dir, path )   
  19.             if os.path.isfile( filePath ):   
  20.                 try:   
  21.                     os.remove( filePath )   
  22.                 except os.error:   
  23.                     autoRun.exception( "remove %s error." %filePath )#引入logging   
  24.             elif os.path.isdir( filePath ):   
  25.                 if filePath[-4:].lower() == ".svn".lower():   
  26.                     continue  
  27.                 shutil.rmtree(filePath,True)   
  28.     return True  
  29. #正则删除文件   
  30. def grem(path, pattern):   
  31.         pattern = re.compile(pattern)   
  32.         for each in os.listdir(path):   
  33.                 if pattern.search(each):   
  34.                         name = os.path.join(path, each)   
  35.                         try: os.remove(name)   
  36.                         except:   
  37.                                 grem(name, '')   
  38.                                 os.rmdir(name)   
  39. #正则删除文件夹中子文件夹中的文件                                   
  40. def DelFileAll(Dir,pattern):   
  41.     tem=os.walk(Dir)   
  42.     pattern = re.compile(pattern)   
  43.     for i,j,k in tem:   
  44.         for n in k:   
  45.             if pattern.search(n):   
  46.                 name = i+os.sep+n   
  47.                 try: os.remove(name)   
  48.                 except:   
  49.                         grem(name,'')   
  50.                         os.rmdir(name)   
  51. #复制文件    
  52. def copyfiles(Dir):   
  53.     tem=os.walk(Dir)   
  54.     for i,j,k in tem:   
  55.         for n in k:   
  56.             name = i+os.sep+n   
  57.             print name   
  58.             shutil.copyfile(name,name+'_2.gif')   
  59.             shutil.copyfile(name,name+'_3.gif')   
  60. if __name__ == '__main__':   
  61.     copyfiles('D:/work')   
  62.     #grem('D:/work/romantic','_[0-9]+.gif')   
  63.     print 'ok'