Python实现批处理

来源:互联网 发布:好用的化妆水知乎 编辑:程序博客网 时间:2024/05/29 14:56

最近搞一个项目需要处理很多文本,分散在很多不同的文件夹里面,要是一个个copy复制,不仅很慢而且很容易出错,况且那是一件多么木有意义的事情。

用Python处理简单了很多,而且不会出现问题。

1、首先要遍历文件夹使用os.walk

2、满足条件的文件进行copy,copy到指定目录,这时可以使用很多种方法。个人使用的os.system('copy')

3、文件处理使用自己写的C语言函数,需要同上,很多方法。

使用过程中还有一些简单的正则表达式。代码贴上来,以后使用的时候可以直接copy了

[python] view plaincopyprint?
  1. import os  
  2. import re  
  3. import win32api  
  4. Pattern=0  
  5. def Mypattern(Pfilename):  
  6.     return len(Pattern.findall(Pfilename))  
  7. def VisitDir(path):    
  8.     global SubNum  
  9.     for root,Dirs,files in os.walk(path):  
  10.         for file in files:  
  11.             if Mypattern(file):  
  12.                 SubNum+=1  
  13.                 print os.path.join(root,file)  
  14.                 filepath=os.path.join(root,file)  
  15.                 filepath=filepath+r' '+r'D:\Xpath\thesaugb.dbz'  
  16.                 print filepath  
  17. #                os.system ("copy %s %s"%(filepath,filename2))  
  18.                 os.system("D:\Test\NewConsole.exe %s"%filepath)  
  19.    
  20. if __name__=="__main__":  
  21.     path=r"D:\Pkw"  
  22.     filename2=r'D:\Test'  
  23.     RecordText=open(r'D:\Record.txt','r+')  
  24.     Pattern=re.compile(r'^[gG][fF]\w*.sgs.txt$')  
  25.     SubNum=0  
  26.     VisitDir(filename2)  
  27. #    win32api.ShellExecute(0,'open',r'D:\Xpath\NewConsole.exe',filepath,'',1)  
  28.     print SubNum  
0 0