python调用终端命令_Python - 调用终端执行命令

本文详细介绍了在Python中调用终端命令的三种方法:os.system()、os.popen()以及subprocess模块。os.system()适用于简单命令执行,os.popen()能获取命令输出,而subprocess模块则提供了更灵活的子进程控制,包括Popen、call、check_call和check_output等方法。通过实例展示了如何使用这些方法执行命令、读取输出和控制子进程。
摘要由CSDN通过智能技术生成

这里主要总结下,在 Python 代码脚本里,涉及到调用 Shell 脚本、终端命令行、其它 Python 脚本的场景.

1. 方法1 - os.system()

os.system() - 只返回状态码,执行结果会输出到stdout,即输出到终端. 仅在 Linux 中有效.

用法:import os

# 不传递参数

os.system(cmd) # cmd 即为Linux 终端命令行指令

# 返回命令执行的状态值

# 输出数字为 0,表示正确执行;

# 输出数字非 0,表示错误执行

# 传递一个参数

os.system("shell command argus %s" % argus1)

# 传递两个及以上参数

os.system("shell command argus %s %s" % (argus1, argus2)

如:import os

# 不传递参数

os.system("ls") # 显示文件夹文件,不包含隐藏文件

os.system("ls -a") # 显示文件夹所有文件,包含隐藏文件

os.system("pwd") # 获取当前目录

os.system("top") # 显示进程情况,退出需要输入 'q'.

# 传递一个参数

os.system("python test.py -i %s" %inputparam)

# 传递两个及以上参数

os.system("python test.py -i %s -b %s" % (inputparam1, inputparam2))

注:os.system(cmd) 不能执行交互式命令,如 ssh root@ip 需要输入密码的终端命令.

Python 字符格式化:%s 字符串 (采用str()的显示)

%r 字符串 (采用repr()的显示)

%c 单个字符

%b 二进制整数

%d 十进制整数

%i 十进制整数

%o 八进制整数

%x 十六进制整数

%e 指数(基底写为e)

%E 指数(基底写为E)

%f 浮点数

%F 浮点数,与上相同

%g 指数(e)或浮点数 (根据显示长度)

%G 指数(E)或浮点数 (根据显示长度)

%% 字符"%"

2. 方法二 - os.popen()

os.popen() - 用于从一个命令打开一个管道,返回结果是一个连接管道的文件对象,该文件对象的操作方法同 open(),可以从该文件对象中读取返回结果. 如果执行成功,不会返回状态码,如果执行失败,则会将错误信息输出到stdout,并返回一个空字符串. 在Unix,Windows中有效.

用法:import os

os.popen(cmd, mode, bufsize)

# cmd - 使用的命令。

# mode - 模式权限可以是 'r'(默认) 或 'w'.

# bufsize - 指明文件需要的缓冲大小:

# 0-无缓冲;1-行缓冲;<

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值