Skip to main content

来自 arg 和环境的参数

项目描述

Arg 猫包

这是一个用于从 args 和 env 读取参数的包。

如何使用

argcat.add_key("env")

这将找到 args-e--env,或找到 environment ENV

  • 只读取 arg:argcat.from_arg()
  • 只读环境:argcat.from_environ()
  • 读取 arg 和环境:argcat.from_arg_and_environ()
  • 删除参数:argcat.remove("env")

例子

from arg_cat import ArgCat
argcat = ArgCat()
argcat.add_key("env")
argcat.add_key("release", is_a_bool=True)
argcat.add_key("some_path", is_a_path=True)
argcat.from_arg_and_environ(environ_override_all=False)
print(f'env: {argcat.get_string("env")}')
print(f'release: {argcat.get_bool("release")}')
print(f'some_path: {argcat.get_string("some_path")}')
  • 此示例将获得 3 个参数envreleasesome_path
  • ArgCat 将在 args 中找到 env 的-e或。--env
  • ArgCat 会在 args 中找到-r--release释放。
  • ArgCat 将在 args 中查找-ssome_path --some_path
  • ArgCat 将ENV在 env 环境中找到。
  • ArgCat 将RELEASE在环境中找到释放。
  • ArgCat 将SOME_PATH在 some_path 的环境中找到。
  • from_arg_and_environ将首先使用环境,然后使用 args 值覆盖这些值。有时,您可能希望使用环境值来覆盖 args 值,您应该environ_override_allTure. environ_override_all默认值为False.
  • 运行它会像:python3 demo.py --env dev -r -s ./this/is/path

情况一

environ_override_all=False

环境:

ENV=this is from env
RELEASE=False

参数:

--env "from arg" -s ./hello

结果:

env: from arg
release: False
some_path: YOUR_WORK_PATH/./hello

情况2

environ_override_all=True

环境:

ENV=this is from env
RELEASE=False

参数:

--env "from arg" -s ./hello

结果:

env: this is from env
release: False
some_path: YOUR_WORK_PATH/./hello

同步文件

默认情况下,我们使用./params.jsonfile 作为 params 文件。 sync_from_file删除所有存在的值,并加载这些 params json 文件的值。

argcat = ArgCat(params_file='YOUR_CUSTOM_PARAMS_FILE.json')
argcat.sync_to_file()
argcat.sync_from_file()

业主须知

建造

python -m build 

发布测试

python3 -m twine upload --repository testpypi dist/*

发布到发布

python3 -m twine upload dist/*

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

arg_cat-1.0.4.tar.gz (4.7 kB 查看哈希

已上传 source

内置分布

arg_cat-1.0.4-py3-none-any.whl (4.8 kB 查看哈希

已上传 py3