python中得到shell命令输出的方法
2024-08-28 17:38:26
以下使用的module都是系统自带的,无需额外安装。
python2.7 和 python3 都可以使用:
1.
import subprocess def execute_cmd(cmd):
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
output, err = p.communicate()
# 判断命令是否执行成功
status = 1 if err else 0
if status == 0:
print('[SUCCESS] %s' % cmd)
else:
print('[ERROR] %s' % cmd)
print(err)
return status, output
2.
import os process = os.popen('ls -l') # return file
output = process.read()
process.close() # 简单写
with os.popen('ls -l') as process:
output = process.read()
python 2.7
import commands return_code, output = commands.getstatusoutput('ls -l')
python3
import subprocess def execute_cmd(cmd)
''' status: 0: success, 1: error
ret: success: stdout, error: stderr
'''
status, ret = subprocess.getstatusoutput(cmd)
if status == 0:
print('[SUCCESS] %s' % cmd)
else:
print('[ERROR] %s' % cmd)
print(ret)
return status, ret
最新文章
- Primer – 支撑 GitHub 的 CSS 工具包和准则
- Linux 积累
- php redis 代码实例
- 异常详细信息: System.Data.SqlClient.SqlException:用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法
- 【JavsScript】推荐五款流行的JavaScript模板引擎
- org.springframework.jdbc.datasource
- html5画饼形图
- Android打开系统设置
- js_1_变量类型
- 如何将Tomcat添加到服务中【笔记】
- there was an error running the selected code generator unable to retrieve metadata for
- UVa - 10339
- 第2课:什么是SQL注入
- 微信小程序之跨界面传参
- Python(3)---从迭代器到异步IO
- Quartz定时任务和IIS程序池闲置超时时间冲突解决方案
- SOA (面向服务的架构)-Service Oriented Architecture
- Kindeditor放置两个调用readonly错误
- [转载]字符串匹配的KMP算法
- VirtualBox虚拟机扩容
热门文章
- pipe_wait问题_转
- IOS证书之Certificates,Devices, Identifiers &; Profiles
- 【活动】上线了|带你直击react年度盛会
- 对PHP输入输出流学习和认识
- tp三级联动
- 第一百三十八节,JavaScript,封装库--插件
- [转]移动互联网应用技术架构简介-Restful服务
- 用n(0)次求一个数组里面最大子数组的和(数组可以输入负数)
- 如何让WPF程序用上MVVM模式
- IntelliJ Idea Hide excluded folders 隐藏或显示你需要的文件夹