Python自学之路-自动生成C#代码

Python自学之路-自动生成C#代码_第1张图片

清明一直比较忙,有三天没有学习Python了,刚工作第一天,相对比较轻松,所以偷偷学了会,果然三天不用就生疏了,看来还得多写写。

由于平时工作用的是C#,最近公司底层都在转型,由原来的SqlServer+MVC转向Mysql+微服务化,原来的自动生成工具不能用了,所以想乘学Python期间,自己搞个试试,这是今天搞的成果,在这里总结下。

(一)思路

与大致的代码生成工具一样,达到的效果是生成通用的三层代码,减少重复开发量。

用Python开发的话,主要利用string模板(template)来实现。其中涉及到读取Mysql和文件操作(用于读写)。

最终生成效果是C#代码(暂时以Model作为demo)

Python自学之路-自动生成C#代码_第2张图片

(二)具体实现

1.创建模板

首先需要创建一个model的模板,把公共部分提取出来。

这里定义了四个需要填充的参数:日期(date),命名空间(namespace),表名(tablename),字段属性(fields)。

Python自学之路-自动生成C#代码_第3张图片

2.读取MySql指定表

有了模板,就要填充该模板啦,主要难点就是字段啦。

利用pymysql模块读取数据

Python自学之路-自动生成C#代码_第4张图片

3.拼接fields

通过读取到字段,进行string拼接

Python自学之路-自动生成C#代码_第5张图片

4.生成Model.cs

通过读取模板文件,生成目标文件

Python自学之路-自动生成C#代码_第6张图片

5.大功告成

通过这么几步,基本上实现了自动生成Model的代码,像生成java代码也类型,根据不同的模板进行更新从而达到你要的目标文件。

Python自学之路-自动生成C#代码_第7张图片

(三)总结

在整个开发过程中还是比较顺利,但是代码不是很友好,只是大致的写出功能demo,后期会进行优化。

其中碰到中文乱码的问题,主要在写入时指定下编码。

明天打算弄几个复杂的模板,并且将一些写死的参数可输入化,然后研究下Python的图形界面,做成一个生成小工具,也能减少很多工作量。

需要源码的和我说下,一起学习,一起交流。

你可能感兴趣的:(Python自学之路-自动生成C#代码)