清明一直比較忙,有三天沒有學習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的圖形界面,做成一個生成小工具,也能減少很多工作量。
需要源碼的和我說下,一起學習,一起交流。
相關推薦
'Python什麼情況下會生成 pyc文件?通過pyc文件瞭解Python運行原理'
"由於最近一位同學在做分佈式計算時,部分模塊只把 pyc文件拷貝部署至遠程計算節點,導致主節點程序更新後,計算節點拋出了錯誤異常,於是有了這篇文章...示例如下,有兩個py模塊,testops.py 與 testops_imported.py模塊。我們先來看 testops...
'玩手機不如自學一下Python,清華1000集視頻教程大彙總無償送給你'
"Python一句話概括:需要拿著遊標卡尺學習的語言python是一款服務器端解釋型開源非編譯腳本語言。它常被暱稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕鬆地聯結在一起。Python的優勢:Python學習簡單,被譽為“最易學習的語言”。Pytho...
'Python全棧之路系列之元組數據類型'
"元組(tuple)和列表的唯一區別就是列表可以更改,元組不可以更改,其他功能與列表一樣創建元組的兩種方法第一種ages = (11, 22, 33, 44, 55)第二種ages = tuple((11, 22, 33, 44, 55))如果元祖內只有一個元素,那麼需要加...
Python
2019-09-09
'使用Python進行機器學習的假設檢驗(附鏈接&代碼)'
"作者:Jose Garcia翻譯:張睿毅校對:張一豪本文約3800字,建議閱讀10分鐘。作者給出了假設檢驗的解讀與Python實現的詳細的假設檢驗中的主要操作。也許所有機器學習的初學者,或者中級水平的學生,或者統計專業的學生,都聽說過這個術語,假設檢驗。我將簡要介紹一下這...
'自學爬蟲分佈式,我需要掌握哪些Python基礎?附贈視頻資料'
"接觸爬蟲已經有一段時間了,常常有人問我:我會點Python,想自學爬蟲,你看用什麼方法好呢?我:我喜歡邊做項目邊學習,爬取過程中遇到問題再百度,擴展xx:我看了網上教材,過程很簡略,最後給了一個編碼,有的我實例一下好像還不成功我:代碼也會“過期”,尤其是爬蟲,需要自己修改...
'我的全棧之路-C語言基礎之C語言概述'
"1.1 信息技術發展趨勢目前信息技術主要經歷了互聯網、移動互聯網以及以大數據、雲計算、物聯網、人工智能區塊為代表的新興技術三個階段。互聯網互聯網自從20世紀90年代逐漸興起,主要是通過網絡連接了世界各地的PC機,筆記本以及背後提供數據服務的大型服務器集群。其中絕大多數PC...
'九宮格用Python怎麼破-14行代碼搞定'
"前面我陸陸續續寫了30多篇講了很多Python知識點:字符串,列表,字典,循環,函數, 模塊,文件,異常等等,這麼多知識,如何靈活運用呢我覺得說千遍道萬遍,不如敲一遍,於是我準備寫一些Python的趣味編程的小例子,後面會陸續寫給大家挑的例子一定要有趣而且簡單,適合初學者...
'Python經典練習,遊戲2048實現思路,附贈完整代碼'
"今天教大家弄一個Python版—控制檯的2048,正好熟悉下Python語法,程序運行效果如下: 程序代碼加上註釋大概150行左右,利用了一些Python內置數據類型的操作節省了不少代碼量。下面說說我的編寫思路。(完整代碼可以轉發此文後私信找我獲取)2. 2048 實現思...
Python
2019-08-23
'GitHub Python項目推薦|數據結構和算法必知必會的50個代碼實現'
"GitHub Python項目推薦|數據結構和算法必知必會的50個代碼實現項目熱度標星(star):8860關注(watch):486拷貝(fork):2644貢獻人數:98 (貢獻人數很多哈)倉庫大小:1 MB最後更新:2019-08-17代碼提交活躍:開發語言主要語言...
推薦中...