通用外壳变量表达式的求值器

shellvars的Python项目详细描述


Homepage:Shellvars Homepage
Download:Shellvars on PyPI
Documentation:Shellvars Docs
License:MIT License
Support:Mailing list (testing-in-python@lists.idyll.org)
Issue tracker:Github Issues
Build status:https://travis-ci.org/testing-cabal/shellvars.svg?branch=master

外壳变量

用于shell变量表达式的python解释器。

Shellvars支持Python2.6及更高版本,还应该支持Jython等。

支持以下表达式:

  • $NAME
  • ${NAME}
  • ${NAME:-REPLACEMENT}
  • ${NAME-REPLACEMENT}
  • ${NAME:=REPLACEMENT}
  • ${NAME=REPLACEMENT}
  • ${NAME:?[ERRORMSG]}
  • ${NAME?[ERRORMSG]}
  • ${NAME:+REPLACEMENT}
  • ${NAME+REPLACEMENT}

递归表达式也受支持。例如:

>>> from shellvars import evaluate
>>> evaluate('${foo:-${bar:=baz}}', {})
('baz', {'bar': 'baz'})

有关shell变量语法的详细信息,请参阅shell或posix 文档。

使用量

使用表达式和任何 要用于表达式的变量。变量键和值必须 两者都是弦外之音。变量dict中缺少的变量是 在空壳术语中被视为“未设置”。

返回值是一个经过计算的字符串,执行任何变量赋值 用这个词。

保留未设置的表达式

shellvars有一个特殊的模式,其中的表达式用于未设置的变量 保存而不是评估。这样就可以把它们传给 不需要用户特别引用,由shell解释。为了 实例:

>>> from shellvars import SKIP
>>> evaluate('$foo $bar', {'foo': 'baz'}, absent=SKIP)
('baz $bar', {})

安装

使用PIP安装:

pip install shellvars

发展

通过pip安装测试依赖项:

pip install .[test]

将更改作为pr推送到githubrepository

缺陷跟踪器

使用githubissue tracker

释放

使用semver进行版本决策。

释放:

  1. 标记回购协议,如1.2.3
  2. 创建一个签名的sdist和wheel
  3. 上传到pypi

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java异步任务必须是抽象的   java从ArrayList更改对象中的变量<Object>   JAVAlang.NoClassDefFoundError与ANT生成的JAR   java如何创建卡片组构造函数   java JPA EclipseLink和@TableGenerator。为什么事务回滚后分配给id的值不为空?   java是一种简单的混合JTextField/JPasswordField的方法吗?   javajaxb(JAXWS):值为null时为空标记   关于ListActivity、游标和SQL数据更新的java问题   JFrame的java无响应KeyListener   堆栈Java类型转换。对象指向自定义类的实例   eclipse在我的java项目中使用其他java文件   Java字符串引用与new不同,与new相同   java游戏介绍页。使用JFrame   在java中设置代理   java轻松打印阿拉伯数字的方法   Java“优化”:低级类中的if控件   java在页面加载之前是否可以填充JSF视图?   升级到spring boot v2后java应用程序未启动。5.2   Spring模型类中的java静态工厂方法   java Lucene令牌流异常