python练习贴09 遍历目录,以包名的形式输出java source文件名

这是日方要的一个东西,以包名的形式输出java source文件名。

最终的结果大概是这样

com.a.b.D.java

com.a.b.E.java

com.a.b.F.java

 

拿到这个问题,我最开始用了一个“tree /F >java_file.list”

但是要把这个结果整理成包的形式还是有一点麻烦的。

于是就写了下面的python脚本

他将递归遍历文件夹,过滤出所有java文件,取出他相对于source跟文件夹的相对路径(也就是包开始的位置)

最后将这个相对路径中的路径分割符替换成包分隔符(也就是".")。

 

代码如下:

import os
import os.path

__author__="wjason"
__date__ ="$2010/08/25 9:01:30$"

def showJavaFile(aPath):
   for root,dirs, files in os.walk(aPath):
       for f in files:
           sufix = os.path.splitext(f)[1][1:]
           # @type sufix str
           if sufix.lower() == "java":
               full_path =  os.path.join(root, f)
               rel_path = os.path.relpath(full_path, target_dir)
               # @type rel_path str
               package_path =rel_path.replace("\\", ".")
               print package_path

if __name__ == "__main__":
   target_dir ="C:\\_MyWork\\Eclipse.workspace.lib\\app\\src"
   showJavaFile(target_dir)

 

 

 

 

 

你可能感兴趣的:(java,eclipse,python,F#,OS)