六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 120|回复: 0

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

[复制链接]

升级  59.33%

114

主题

114

主题

114

主题

举人

Rank: 3Rank: 3

积分
378
 楼主| 发表于 2013-1-15 02:18:49 | 显示全部楼层 |阅读模式
这是日方要的一个东西,以包名的形式输出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)[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_pathif __name__ == "__main__":   target_dir ="C:\\_MyWork\\Eclipse.workspace.lib\\app\\src"   showJavaFile(target_dir) 
 
 
 
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表