python获取shell输出及返回码_如何执行shell命令获取Python中命令后的输出和pwd

我将stdout重定向到pwd命令的stderr。如果stdout为空且stderr不是路径,那么stderr是命令的错误

import subprocess as sub

def execv(command, path):

command = 'cd %s && %s && pwd 1>&2' % (path, command)

proc = sub.Popen(['/bin/bash', '-c', command],

stdout=sub.PIPE, stderr=sub.PIPE)

stderr = proc.stderr.read()[:-1]

stdout = proc.stdout.read()[:-1]

if stdout == '' and not os.path.exists(stderr):

raise Exception(stderr)

return {

"cwd": stderr,

"stdout": stdout

}更新:这里是更好的实现(使用pwd的最后一行,不要使用stderr)

def execv(command, path):

command = 'cd %s && %s 2>&1;pwd' % (path, command)

proc = sub.Popen(['/bin/bash', '-c', command],

env={'TERM':'linux'},

stdout=sub.PIPE)

stdout = proc.stdout.read()

if len(stdout) > 1 and stdout[-1] == '\n':

stdout = stdout[:-1]

lines = stdout.split('\n')

cwd = lines[-1]

stdout = '\n'.join(lines[:-1])

return {

"cwd": cwd,

"stdout": man_to_ansi(stdout)

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525719.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模拟微信支付服务器测试,专栏 - 腾讯WeTest-All Test in WeTest

一、异常压测场景模拟说明:压测服务器具备自动完成初始化(支持快速扩缩容),初始化后均已支持:stress 、tc等工具(不需安装)1.使用stress模拟压力(CPU/内存/IO繁忙)a.如何使用:cpu高负载模拟:stress -c 44 -t 60内存高…

mysql数据库group_key_【MySQL】数据库复制:组复制(Group Replication)

[rootwallet01 ~]# uuidgen8d1945a5-5c74-4ba0-8240-e9d731110753[rootwallet01 ~]# vi /etc/my.cnf##单主模型参数[mysqld]server-id 1gtid_mode onenforce_gtid_consistency onlog_bin mysql-binbinlog_format rowbinlog_checksum nonebinlog_cache_size 16Mmax_binlo…

网易容器云平台的微服务化实践

摘要:网易云容器平台期望能给实施了微服务架构的团队提供完整的解决方案和闭环的用户体验,为此从 2016 年开始,我们容器服务团队内部率先开始进行 dogfooding 实践,看看容器云平台能不能支撑得起容器服务本身的微服务架构&#xf…

逐鹿工具显示服务器错误连接不上怎么解决,win7系统安装逐鹿工具箱提示“error launching installer”错误的解决方法...

win7系统使用久了,好多网友反馈说win7系统安装逐鹿工具箱提示“error launching installer”错误的问题,非常不方便。有什么办法可以永久解决win7系统安装逐鹿工具箱提示“error launching installer”错误的问题,面对win7系统安装逐鹿工具箱…

唯品会2017年双11大促技术保障实践,全域提供25万QPS服务能力

作者简介:刘惊惊,唯品会业务架构部高级架构师,负责唯品会电商平台的用户系统,营销系统和库存系统的架构设计工作。2016年加入唯品会,参与了唯品会电商系统的大重构,负责多个核心系统的梳理和大促准备。 张…

iis7 mysql_windows 7 下搭建php开发环境(windows7+IIS7+php+mysql)

首先需要说明的是,基于IIS v6.0/v7.0(2008),可以支持的脚本相当完整,不仅支持Linux无法支持的asp/asp.net,还可以安装php、mysql、zend实现php环境。同时,利用Serv-U可以实现ftp管理。操作简单,无需键入任何…

从核心技术到高可用实践——解密数据库深度挖掘指南

SDCC系列峰会各站在技术圈遍地花开之余,主办方CSDN为了更好地服务技术开发者并拓展受众,同步启动SDCC 2017系列之线上峰会——线上线下双管齐下,一举打破地域限制,内容为基,便捷加成,带来更友好的听众体验。…

Unity中Shader观察空间推导

文章目录 前言一、本地空间怎么转化到观察空间二、怎么得到观察空间的基向量1、Z轴向量2、假设 观察空间的 Y~假设~ (0,1,0)3、X Y 与 Z 的叉积4、Y X 与 Z 的叉积 三、求 [V~world~]^T^1、求V~world~2、求[V~world~]^T^ 四、求出最后在Unity中使用的公式1、偏移坐标轴2、把…

mysql 几级缓存_Mysql中一级缓存二级缓存区别

一级缓存:也称本地缓存,sqlSession级别的缓存。一级缓存是一直开启的;与数据库同一次会话期间查询到的数据会放在本地缓存中。如果需要获取相同的数据,直接从缓存中拿,不会再查数据库。一级缓存失效的四种情况&#xf…

portainer 启动mysql_docker 安装portainer容器后,启动/Portainer 安装MySQL并开启远程访问...

启动命令:docker run -d -p 9000:9000 --restartalways -v /var/run/docker.sock:/var/run/docker.sock --name portainer docker.io/portainer/portainer下载mysql镜像文件:docker search mysqldocker pull mysql:5.7.32创建mysql容器:docker run -d --…

追求极简:Docker镜像构建演化史

作者简介:白明,东软互联网运营平台技术负责人,毕业于哈尔滨工业大学,Go语言专家,GopherChina讲师,技术培训师和撰稿人,博客tonybai.com作者,拥有多年后端服务架构设计和开发经验。目…

mysql datetime不支持小数_如何从python向MYSQL中插入空小数/datetime?

我有数据文件:Laura, Laura Ellenburg, 5342 Picklied Trout Lane, Nashville, TN,38010,2000-02-22, , 454-56-768注意结尾附近的“”。在我使用的是python代码:^{pr2}$我的桌子是:create table PV_employee(employeeid varchar(10) not nu…

特征选择算法在微博业务应用中的演进历程

近年来,人工智能与机器学习的应用越来越广泛,尤其是在互联网领域。在微博,机器学习被广泛地应用于微博的各个业务,如Feed流、热门微博、消息推送、反垃圾、内容推荐等。值得注意的是,深度学习作为人工智能和机器学习的…

c winform mysql类_C#连接MySQL数据库操作类

首先需要安装MySQL Connector Net 6.8.3然后在项目中引用MySQL Connector,如下图所示C#连接MySQL的操作类代码如下:public class MySQLHelper{private string db_host "localhost"; //数据库服务器private string db_port "3306";…

病历智能处理引擎的架构设计、实现和应用

作者简介:吴大帅,新屿算法工程师,曾供职于宅米网、新达达,从事系统架构设计、算法设计等工作。 李智慧,《大型网站技术架构:核心原理与案例分析》作者,从事大型网站、分布式系统、大数据方面的研…

django2连接mysql_Django2.2连接MySQL问题解决

报错一&#xff1a;django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.解决方法&#xff1a;编辑文件&#xff0c;注释掉如下行&#xff1a;version Database.version_info# if version < (1, 3, 13):# raise Improp…

Heron:来自Twitter的新一代流处理引擎应用篇

作者 | 吴惠君&#xff0c;吕能&#xff0c;符茂松责编 | 郭芮【导语】 本文对比了Heron和常见的流处理项目&#xff0c;包括Storm、Flink、Spark Streaming和Kafka Streams&#xff0c;归纳了系统选型的要点。此外实践了Heron的一个案例&#xff0c;以及讨论了Heron在这一年开…

mysql dump 数据时间_使用mysqldump备份数据及做时间点还原测试步骤

1、备份dbtest数据库数据# mysqldump --databases dbtest --master-data2 --single-transaction >s2.sql记录当前的库的status信息# cat s2.sql |grep CHANGE-- CHANGE MASTER TO MASTER_LOG_FILEmaster.000004, MASTER_LOG_POS4415;mysql> show master status ;|master…

2017 JavaScript 调查报告概述

本文转载自极光日报知乎专栏&#xff0c;地址&#xff1a;https://zhuanlan.zhihu.com/p/32260460简评&#xff1a;最近一份超过 23,000 名开发者参与的关于 JavaScript 的调查报告 - the State of JavaScript 2017 出炉了。内容包含框架的流行趋势、薪资水平等等&#xff0c;感…

mysql rpm 安装多实例_MySQL搭建系列之多实例

所谓多实例。就是在一台server上搭建、执行多个MySQL实例&#xff0c;每一个实例使用不同的服务port。通过不同的socket监听&#xff1b;物理上&#xff0c;每一个实例拥有独立的參数配置文件及数据库。通常情况下。一台server是不建议执行多个MySQL实例的。尤其是生产环境&…