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

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

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

(一)思路

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

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

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

(二)具体实现

1.创建模板

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

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

2.读取MySql指定表

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

利用pymysql模块读取数据

3.拼接fields

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

4.生成Model.cs

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

5.大功告成

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

(三)总结

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

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容