python sh模块_python命令行工具sh模块使用指南.md

本文介绍了Python的sh模块,作为替代subprocess的工具,它提供了更简便的方式来执行命令行操作。内容包括sh模块的安装、导入、常见命令的使用方式,如子命令的两种写入形式,并给出了使用with环境的示例。通过学习,读者能够掌握如何在Python中利用sh模块执行shell命令。
摘要由CSDN通过智能技术生成

## 序言

sh模块是用来代替subprocess的一个模块,他比sub在使用上要更简便.

官方文档和地址如下.

* [常见问题解答— sh 1.14.0文档](https://amoffat.github.io/sh/sections/faq.html#how-do-i-execute-a-bash-builtin)

* [amoffat / sh:启动Python进程](https://github.com/amoffat/sh)

下面我们来看看这个模块的日常是如何使用的

## 常见命令

### 安装模块

```sh

pip install sh # 安装模块

```

### 导入模块与导入具体子模块

```python

# 最简单的用法

import sh

a=sh.ls("-l","-a")

print(a)

# 导入子模块

from sh import ip,git

a = ip.address()

print(a)

# 查看git状态

a = git('status')

print(a)

```

### 子命令的两种写入方式

```py

# 子命令

>>> from sh import git, sudo

>>> print(git.branch("-v"))

>>> print(git("branch", "-v"))

>>> print(sudo.ls("/root"))

>>> print(sudo("/bin/ls", "/root"))

# with 环境

>>> with sh.contrib.sudo(_with=True):

print(ls("/root"))

# _with=True 关键字告诉命令它正处于 with 环境中, 以便可以正确地运行.

#将多个参数传递给命令时,每个参数必须是一个单独的字符串:

from sh import tar

tar("cvf", "/tmp/test.tar", "/my/home/directory/")

# 这将不起作用:

from sh import tar

tar("cvf /tmp/test.tar /my/home/directory")

```

## 参考文章

[在 Python 中使用 SH 模块执行 SHELL 命令 - 冬日の草原](https://amito.me/2018/Using-SH-in-Python/)

一键复制

编辑

Web IDE

原始数据

按行查看

历史

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值