当前位置: 首页 > news >正文

华强南网站建设怎么建立个人网站

华强南网站建设,怎么建立个人网站,网站建设的部署与发布,阿里云搜索文章目录 前言一、sh是什么?二、使用步骤1.安装2.使用示例3.使用sh执行命令4.关键字参数5.查找命令6.Baking参数 前言 本文章向大家介绍[Python库]分析一个python库–sh(系统调用),主要内容包括其使用实例、应用技巧、基本知识点…

文章目录

  • 前言
  • 一、sh是什么?
  • 二、使用步骤
    • 1.安装
    • 2.使用示例
    • 3.使用sh执行命令
    • 4.关键字参数
    • 5.查找命令
    • 6.Baking参数


前言

本文章向大家介绍[Python库]分析一个python库–sh(系统调用),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。


一、sh是什么?

SH是一个独特的子进程包装器,可将您的系统程序动态映射到Python函数。SH帮助您用Python编写Shell脚本,
既能支持Bash的所有功能(简单的命令调用,简单的管道传输) ,又能兼顾Python的灵活性。 [资源]

SH是Python中成熟的子进程接口,允许您调用任何系统程序,就好像它是一个函数一样。也就是说,SH让您几乎可以调用任何可以从登录shell运行的命令。
更重要的是,您可以更轻松地捕获和解析命令的输出。

二、使用步骤

1.安装

通过pip命令来安装sh

pip install sh

2.使用示例

启动和运行的最简单方法是直接导入sh或从sh导入您需要的命令。然后,该命令就可以像Python函数一样使用。
比如,传递参数,捕获输出并在python中使用输出。详见下面的代码示例

# get interface information
import sh
print sh.ifconfig("eth0")from sh import ifconfig
print ifconfig("eth0")# print the contents of this directory
print ls("-l")# substitute the dash for an underscore for commands that have dashes in their names
sh.google_chrome("http://google.com")

子命令的两种写入方式

# 子命令
>>> 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")

3.使用sh执行命令

命令的调用就像函数一样。

但是“需要注意的是,这些不是真正的Python函数,实际运行的是系统中对应的二进制命令,就像Bash一样,通过解析PATH在系统上动态地运行。
也正因为这样,Python对Shell命令的支持非常好,系统上所有命令都可以通过Python轻松运行。”

许多程序都有自己的命令子集,例如git(分支,签出)。
sh通过属性访问处理子命令。

from sh import git# resolves to "git branch -v"
print(git.branch("-v"))print(git("branch", "-v")) # the same command

4.关键字参数

关键字参数也可以像您期望的那样工作:它们被替换为命令行参数选项。

# Resolves to "curl http://duckduckgo.com/ -o page.html --silent"
sh.curl("http://duckduckgo.com/", o="page.html", silent=True)# If you prefer not to use keyword arguments, this does the same thing
sh.curl("http://duckduckgo.com/", "-o", "page.html", "--silent")# Resolves to "adduser amoffat --system --shell=/bin/bash --no-create-home"
sh.adduser("amoffat", system=True, shell="/bin/bash", no_create_home=True)# or
sh.adduser("amoffat", "--system", "--shell", "/bin/bash", "--no-create-home")

5.查找命令

“Which”查找程序的完整路径,如果不存在,则返回None。 该命令是用Python函数真正实现的少数命令之一,
因此不依赖于实际存在的”which”二进制程序。

print sh.which("python")     # "/usr/bin/python"
print sh.which("ls")         # "/bin/ls"if not sh.which("supervisorctl"): sh.apt_get("install", "supervisor", "-y")

sh还可以使用更多功能,并且可以找到所有功能。 在里面官方文件。

6.Baking参数

sh可以将”baking”参数用作命令,作用是输出对应的完整命令行字符串,如下面的代码所示:

# The idea here is that now every call to ls will have the “-la” arguments already specified.
from sh import lsls = ls.bake("-la")
print(ls) # "/usr/bin/ls -la"# resolves to "ls -la /"
print(ls("/"))

ssh+baking命令
在命令上调用”bake”会创建一个可调用对象,该对象会自动传递所有传递给”bake”的参数。

# Without baking, calling uptime on a server would be a lot to type out:
serverX = ssh("myserver.com", "-p 1393", "whoami")# To bake the common parameters into the ssh command
myserver = sh.ssh.bake("myserver.com", p=1393)print(myserver) # "/usr/bin/ssh myserver.com -p 1393"

现在,可调用“myserver”表示一个baking的ssh命令:

# resolves to "/usr/bin/ssh myserver.com -p 1393 tail /var/log/dumb_daemon.log -n 100"
print(myserver.tail("/var/log/dumb_daemon.log", n=100))# check the uptime
print myserver.uptime()15:09:03 up 61 days, 22:56,  0 users,  load average: 0.12, 0.13, 0.05

如果想了解更多的内容和功能,可以参考官方文件。


参考文章:How to use sh in Python

http://www.wangmingla.cn/news/100710.html

相关文章:

  • 网站品牌推广设计郑州做网站哪家好
  • 怎么免费建个免费的站点百度搜索风云榜小说
  • 建站宝盒怎么样百度推广怎么做步骤
  • 网站模板文件在哪里下载枸橼酸西地那非片的作用及功效
  • 做网站360业务百度指数查询手机版
  • 如何做网站大管家网站优化排名软件
  • 长沙做网站智投未来韶关新闻最新今日头条
  • 有没有那种帮人做ppt的网站网站制作企业有哪些
  • 推广途径seo关键词排名优化软件
  • 网站评论做外链百度天眼查
  • 做视频上传可以赚钱的网站免费b站推广网站2023
  • 海外网站开发站长素材
  • 湖南省建设干部学校 网站近期重大新闻事件10条
  • 网站开发涉及服务搜索推广渠道有哪些
  • dede网站白屏学大教育一对一收费价格表
  • 黄岛做网站找哪家好百度快照搜索
  • 做丝袜网站能赚钱吗网站引流推广怎么做
  • 网页设计图片素材网关键词排名优化怎么做
  • 网页设计图片超链接北京seo学校
  • 网站界面用什么做的百度推广业务员电话
  • 云南做企业网站多少钱大数据精准营销获客
  • 企业网站建设 安全seo一个月工资一般多少
  • 学校网站功能企业策划书
  • wordpress应用案例嘉兴seo报价
  • 微信公众号搭建网站有哪些网站可以免费推广
  • 国外出名设计网站有哪些seo同行网站
  • 《网站建设》项目实训报告百度关键词排名工具
  • 运城市做网站公司企业seo
  • 网站制作属于什么专业想做个网络推广
  • 用angularjs做的网站电子商务网页制作