wjason 发表于 2013-2-7 08:33:13

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 osimport 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)         # @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_pathif __name__ == "__main__":   target_dir ="C:\\_MyWork\\Eclipse.workspace.lib\\app\\src"   showJavaFile(target_dir) 
 
 
 
 
页: [1]
查看完整版本: python练习贴09 遍历目录,以包名的形式输出java source文件名