解析svn配置文件获取用户名称

最近要做一个账号管理系统后台,主要用于公司ftp和svn账号进行统一管理,因为随着业务的增多,业务线也都分的很明细,刚开始一台 svn服务器,到后来现在快数不清多少台服务器了,项目都想自己建立自己的代码库svn,可时间长了,慢慢发现,管理成本非常高,有时候一个用户,你猛一看,根本不知道它是哪个服务器上,如果用户不清楚了,慢慢的权限管理这块也是一团糟,因此公司有意将不同的svn服务器上用户和权限集中起来进行统一入库管理,其实就是做一个账号管理平台,方便对用户的查询,因为不同机器上的svn用户是动态的,所以账户库的信息也必是自动从服务器上抓取的,这就用到了我们后台的python脚本,实时解析svn配置文件,然后将数据自动导入到数据库中,今天这部分呢,主要是看如何解析svn的passwd文件来 获取用户的,这个文件的格式如下:

我个人的一个习惯呢,在写功能前,先手写下要实现的基本内容,比如解析这个文件基本要实现:

1、注释行、空行去除

2、中括号开头的行去除

3、分割用户和密码,只将用户信息写入一个csv文件

不管大小功能,先列这么一个实现列表,再动手写逻辑就会比较清晰的多,那看看最终我们的实现代码:

如我上面所说,整理清楚思路,写出来的代码也很直白,看代码,可能有人问了,你这个不够有水平呀,分割用户和密码时为什么不用split()函数呢?是的,事实上我刚开始的时候是用了这个函数,不过总有那么几个用户不能正常用split()函数分割,当时也没看出有什么问题,所以在这里我封装了一个函数来返回获得的账号信息,这样就没问题了。