Python 的 Shell 脚本库
项目描述
pyscripting 是一个 Python 模块,提供各种实用工具,使使用 Python 进行 Shell 脚本编写更加容易。
入门指南
获取 scripting.py
pip install pyscripting
创建您的 Python Shell 脚本 myscript.py
#!/usr/bin/env python from scripting import sh sh.ls('-l')
使用您的脚本
chmod +x myscript.py ./myscript.py
调用外部命令
有三种方式可以调用外部命令。
如果可能,将使用 Python 替换外部命令。只有在直接调用时才不会使用替换。
有关所有替换命令,请参阅 替换命令。
直接调用
返回退出代码。
sh('ls', '-l')
间接调用
返回退出代码。
sh.ls('-l')
调用并返回输出
返回清理后的 stdout (stderr 不会被包含在内)。
使用此方法,命令的输出将不会打印到 stdout。在返回输出之前,将删除前导空格。
不要为此方法使用大输出。
output = sh.get('ls', '-l') print('Output was: %s' % output)
参数处理
您可以通过 argv 属性访问传递给脚本的参数
sh.argv[0] - called script name sh.argv[1] - first argument
替换命令
为了避免开销和简化原因,一些外部命令已被 Python 的内部函数替换,这些函数比调用外部命令工作得更快。
- basename
与外部 basename 相同。
返回字符串。
- exit
与外部 exit 相同。
- find
类似于外部 find 命令。
返回所有找到的文件的迭代器。
示例用法
for f in sh.find(type='f', exclude=['*.pyc']): print(f)
- mkdir
等同于外部的 mkdir。
- mkdirs
等同于外部的 mkdir -p。
- test
类似于外部的 test。
返回布尔值。
示例用法
if sh.test('-d', '/tmp'): print('/tmp is directory.')
Makefile 功能
示例 (myscript.py)
#!/usr/bin/env python from scripting import sh, Makefile make = Makefile(sh) @make('/tmp/myfile.txt') def myrule(target): sh.touch(target) @make() def main(target): myrule() make.run(main)
最后一行 make.run(main) 检查 sys.argv 并执行指定的规则或默认规则(如果没有指定特定规则)。只有当目标文件 /tmp/myfile.txt 不存在时,才会执行 myrule。
./myscript.py
现在调用特定规则
./myscript.py myrule
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。
源分发
pyscripting-0.1.tar.gz (3.6 kB 查看哈希值)
构建分发
pyscripting-0.1.linux-x86_64.exe (68.1 kB 查看哈希值)
关闭
pyscripting-0.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 481d88a58f370b9336891d1bdfa7774c3b670eba98d7ef9f408f16c6a0fbc20c |
|
MD5 | 423de0a56d95ee7db33b32df0ac9621f |
|
BLAKE2b-256 | fc3adf746b5d9ffe287dd21872d3fab845c0056dad33ffc82d391180e07a4b36 |
关闭
pyscripting-0.1.linux-x86_64.exe 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a7a165e17e308fc0a0e9be4f17b3600f4fdc4c58fd70ae05d7fbf94f91aa8365 |
|
MD5 | 73941cd16ad7e8152dda6b92623878a5 |
|
BLAKE2b-256 | 5c821d7cee0cc614a9fd7c5c8ec3eba64720dbf4c8565618c4022f07a061e480 |