与shell和管道交互的小工具
项目描述
Chut!
Chut是一个帮助您与shell管道和命令交互的小工具。
基本上,它将帮助您在Python中编写一些shell脚本。
这更像是一个玩具而不是真正的工具,但……有时可能有用。
它已经与py3.5+ 测试
完整文档可以在 这里 找到
快速入门
获取 chutify 脚本
$ wget https://raw.github.com/gawel/chut/master/docs/_static/binaries/chutify $ chmod +x chutify
编写控制台脚本
$ cat << EOF > myscript.py from chut import * __version__ = '0.1' @console_script def mycmd(args): """Usage: %prog [options] <directory> Print all chut scripts found in <directory> Options: %options """ for filename in find('-name *.py') | grep('@console_script'): print(filename) EOF
以开发模式运行 chutify
$ ./chutify --devel chmod +x bin/mycmd
并使用/调试新创建的脚本
$ ./bin/mycmd -h
当您的脚本准备就绪后,则生成独立版本
$ ./chutify chmod +x dist/scripts/mycmd
还可以查看 示例。
安装
使用pip
$ pip install chut
这将安装docopt,并允许您使用 @console_script 装饰器。
另一个选项是获取 chutify 的独立版本
$ wget https://raw.github.com/gawel/chut/master/docs/_static/binaries/chutify $ chmod +x chutify
快速入门
导入shell
>>> import chut as sh
获取包含“Chut”的文件内容
>>> grep_chut = sh.cat('README.rst') | sh.grep('Chut') >>> if grep_chut: ... print(grep_chut | sh.head("-n1")) Chut!
将输出重定向到文件
>>> ret = (grep_chut | sh.head("-n1")) > '/tmp/chut.txt' >>> ret.succeeded True >>> print(sh.cat('/tmp/chut.txt')) Chut!
或将到stdout
>>> sh.cat('/tmp/chut.txt') > 1 # doctest: +SKIP Chut!
将stdout重定向到stderr
>>> sh.cat('/tmp/chut.txt') > 2 # doctest: +SKIP Chut!
使用进程池运行多个命令
>>> [ret.succeeded for ret in sh.ls.map(['.', ['-l', '/tmp']])] [True, True]
使用docopt编写控制台脚本。此脚本将iface作为参数,如果找不到地址则返回代码1
>>> @sh.console_script ... def got_inet_addr(args): ... """Usage: got_inet_addr <iface>""" ... if sh.ifconfig(args['<iface>']) | sh.grep('inet addr:'): ... return 1
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
chut-0.18.tar.gz (514.7 kB 查看散列值)
构建分发
chut-0.18-py3-none-any.whl (21.1 kB 查看散列值)
关闭
chut-0.18.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 30951bdb31054142563e03ac8ed386234e5b1b22751d74bda5c444b7f6f1f073 |
|
MD5 | 95e56a30cb949155f008a1065830c4e9 |
|
BLAKE2b-256 | 9f900b5b337dc7d627c9dc52127a8e7b5d2572b0ddc8ea87be457bbb80638c4d |
关闭
chut-0.18-py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 33dd70bdda6d74c1e5b442e5008c46efdd8c477875c89e19e25c0f631d5d1ee3 |
|
MD5 | b4c304eed39ad9124f95867064ca93e3 |
|
BLAKE2b-256 | ffded6cc2651ef19061a89ece7c8116e674073fd4f7765cb9d433191bab1e785 |