prs是一个工具,允许你在shell命令中使用Python列表推导。
项目描述
prs
prs是一个小型工具,允许您将内容通过管道传递给Python,并在列表推导中进行处理。
如果您曾经希望能够在shell中使用Python列表推导来操作项目,prs就是为您准备的。
安装
只需pip install prs
。
用法
prs很简单。您可以从shell中将内容传递给它,它将管道中的内容作为一个名为i
的列表(不带结尾换行符)暴露给脚本,并期望脚本将一个变量名为o
的字符串或可迭代的返回。然后该变量将打印到stdout,因此您可以将其通过管道传递给sh
进行执行。
$ ls -1
LICENSE
prs/
README.md
setup.cfg
setup.py
$ ls -1 | prs "o = [l.lower() for l in i]"
license
prs
readme.md
setup.cfg
setup.py
多行可以通过分号分隔。
已经导入了一些库(但您也可以自由导入自己的库)
- os
- re
- sys
- pathlib.Path
示例
注意:这里提供的示例不会实际运行命令,只会显示它们,以便您可以看到实际会运行的内容。要实际运行命令,只需在每个示例后追加| sh
即可。
将所有当前目录中的文件追加到.bak
$ ls -1 | prs "o = ['mv {} {}.bak'.format(l, l) for l in i if Path(l).is_file()]"
mv LICENSE LICENSE.bak
mv README.md README.md.bak
mv setup.cfg setup.cfg.bak
mv setup.py setup.py.bak
将所有条目连接成一个
02:28:39 $ ls -1 | prs "o = 'touch ' + ' '.join(i)"
touch LICENSE prs README.md setup.cfg setup.py
完全忽略所有输入
02:29:35 $ ls -1 | prs "o = 'hi'"
hi
更改所有子目录中所有文件的后缀名
$ prs 'o = ["mv %s %s" % (l, l.with_suffix(".2py")) for l in Path(".").glob("**/*.py")]'
mv setup.py setup.2py
mv build/lib/prs/cli.py build/lib/prs/cli.2py
mv build/lib/prs/__init__.py build/lib/prs/__init__.2py
mv prs/cli.py prs/cli.2py
mv prs/__init__.py prs/__init__.2py
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
prs-0.0.7.tar.gz (3.2 kB 查看哈希值)
构建分发
prs-0.0.7-py3-none-any.whl (3.3 kB 查看哈希值)
关闭
prs-0.0.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 93533805a87cb545b478148530513ed428f7e7402b90b4bf7f1f86ef50ceb795 |
|
MD5 | 04a6432db6f34c433b17c336d77af91c |
|
BLAKE2b-256 | 9f4bc66421e6b8f9bf4762800e6a32a1def7661cd388b34797d4528d15b9d2a6 |
关闭
prs-0.0.7-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1e723f8b40ca4e241c86b483cb8588b4de888afe5dc8a1a0e789f7043447db6b |
|
MD5 | 980702b4dde5c16c65df2d80beb5c24d |
|
BLAKE2b-256 | be266c556b1723cb985ebb44498c16c8b427604a41c76ddf16b11714903ef142 |