CLI用于创建包含环境变量的.env文件。
项目描述
Createnv
创建.env文件的简单CLI。
动机
我在许多项目中使用.env文件来解耦配置与应用程序,我看到许多新手可能很难创建此文件。
因此,我创建了此包以提供更好的用户界面来创建格式为.env的配置文件。
示例
使用此存储库中的示例.env.sample
您现在可以自己进行实验,或者尝试更高级的.env.sample
,例如tests/.env.sample
或[Bot Followers的.env.sample
]
安装
Createnv需要Python 3.7或更高版本
$ pip install createnv
使用方法
要使用默认值(从.env.sample
读取样本并将其写入.env
)
$ createnv
选项
选项 | 默认值 | 描述 |
---|---|---|
--target |
.env |
写入结果的文件 |
--source |
.env.sample |
用作样本的文件 |
--overwrite 和--no-overwrite |
--no-overwrite |
在覆盖文件之前是否询问 |
--use-default 或--no-use-default |
--no-use-default |
在具有默认值设置的字段上是否请求输入 |
--chars-for-random-string |
所有ASCII字母、数字和一些额外的字符(!@#$%^&*(-_=+) ) |
用于创建随机字符串的字符 |
样本文件的格式
Createnv读取样本文件并按空行分隔行,遵循一些规则
- 第一行必须是标题
- 第二行可能是一个描述或一个变量
- 剩余的行应该是变量
标题
该块的最后一行应以一个#
字符开头,后面跟着一个空格。标题值是#
和空格之后的剩余文本。
示例
# Hell Yeah!
在这种情况下,标题是耶!(不是# 耶!)。
描述(可选)
如果第二行遵循标题行的语法,则其文本(不包括#
)被视为描述,并用于向用户提供有关此块的变量的更多信息。
变量
存在三种类型的变量
常规
每个块可能包含一个或多个变量行。语法要求使用仅包含大写字母、数字或下划线的变量名,后跟一个等号。
等号之后的内容是可选的。此文本被视为该变量的默认值。
该变量的文本描述也是可选的。您可以在行的末尾放置一个注释来创建一个。也就是说,任何在连续两个空格、一个#
符号和一个额外空格之后的文本是该变量的文本描述。
示例
NAME=
这是一条有效的变量行。它有一个名称(NAME),没有默认值,也没有人类描述。我们可以添加一个默认值
NAME=Cuducos
这仍然是一条有效的变量行。它有一个名称(NAME),一个默认值(Cuducos)。然而,我们可以添加一个人类描述
NAME=Cuducos # What is your name?
现在这是一个完整的变量,具有名称(NAME)、默认值(Cuducos)和人类描述(你的名字是什么?)
随机值
如果您想要一个具有随机值的变量,可以将默认值设置为<random>
,Createnv将负责处理。可选地,您可以使用:int
指定该变量的长度。
您可以使用--chars-for-random-string
选项来指定用于随机值的字符。
示例
SECRET_KEY=<random>
TOKEN=<random:32>
第一行将创建一个包含随机字符和长度在64到128个字符之间的SECRET_VALUE
。
第二行将创建一个正好32个字符的TOKEN
,其值为随机值。
自动生成
最后,您可以将同一块内的现有变量组合在一起来创建一个新的变量(无需提示用户进行组合),语法类似于Python中的f-string。
示例
NAME= # What is your name?
PERIOD= # Is it morning, afternoon, or evening?
GREETING=Good {PERIOD}, {NAME}!
在这种情况下,Createnv只要求用户输入NAME
和PERIOD
,并自动创建GREETING
。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定该选择哪个,请了解更多有关安装包的信息。