1. Agen極簡的代碼生成器

        聯(lián)合創(chuàng)作 · 2023-09-28 03:27

         一個極簡的代碼生成器,可以嵌進你自己的項目中。

        Latest Version Travis CI Status Codecov Status Doc Status

            特性

        • 簡化到不能再簡化的API

        • 支持自定義 Jinja Env

        • 可以作為命令行工具使用

        無模版

        agen 本身并不提供任何代碼模版,只是提供一種能力,將代碼模版化。如果需要使用已有的公開模版,請通過另一個優(yōu)秀的開源庫 Cookiecutter 。

        為什么?

            agen 十分輕量級,可以在幾分鐘內(nèi)完美集成到你自己的項目中。

            我非常喜愛 Cookiecutter 這個非??岬捻椖?,但它的絕大多數(shù)功能對我來說太重了。

            安裝

            使用 pip 安裝:

        pip install agen

            從源代碼安裝:

        clone https://github.com/yufeiminds/agen.git
        cd agen
        python setup.py install

            快速指南

            在 agen 中,使用 jinja2 作為模版引擎進行渲染,所以,任何 jinja2 模版的特性都可以在agen中使用。

            文件生成

        from agen import ( string_render, render, generate, generate_dir ) # Render text from a templated string string_render('{{key}}', {'key': 'value'}) > 'value' cat template.py > {{key}} # Render text from a template file render('template.py', {'key': 'value'}) > 'value' # Generate file from a template file generate('template.py', 'output.py', {'key': 'value'}) # Content of output.py value

            目錄生成

            假設(shè)我們有下面這樣的目錄:

        directory
        ├── __init__.py
        └── {{key}}.py

            調(diào)用 generate_dir 函數(shù):

        generate_dir('directory', 'mydir', {'key': 'value'})

            將生成

        mydir
        ├── __init__.py
        └── value.py

        每一個純文本文件都會被模版引擎渲染,context {'key': 'value'} 也會在渲染時被自動傳遞。

        瀏覽 23
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
          
          

            1. 人人操免费 | 国产欧美一级片 | 国产豆花精品视频 | 韩国下部无遮挡 | 国模陆瓷大尺度啪啪人体露张 |