首页 > 系统相关 >python 执行shell 日志 输出

python 执行shell 日志 输出

时间:2022-08-18 14:26:08浏览次数:55  
标签:move shell stdout python cmd subprocess print 日志

一、python 执行shell 实时打印到屏幕上

from subprocess import Popen, PIPE, STDOUT

move_data = "cmd_val"


def exec_command(command):
    move_path = Popen(command, stdout=PIPE, stderr=STDOUT, encoding='utf-8', shell=True)
    with move_path.stdout:
        for line in iter(move_path.stdout.readline, b''):
            if len(line) > 3:
               print(line.encode().strip())
            else:
               break
    exitcode = move_path.wait()
    return exitcode


y = exec_command(move_data)
print('运行结果:')
print(y)

 

二、python 执行shell 不需要打印到屏幕上,只获取执行结果

import subprocess


shell_cmd =  "cmd_val"
            
return_cmd = subprocess.run(shell_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding='utf-8',shell=True)
if return_cmd.returncode == 0:
    print('命令成功执行')
    # 还可以获取执行结果
    ret_val = return_cmd.stdout
else:
    print('命令执行失败')
    sys.exit(1)

 

标签:move,shell,stdout,python,cmd,subprocess,print,日志
From: https://www.cnblogs.com/zhangweimee/p/16598547.html

相关文章

  • 发现一个舔狗神器,Python真的太厉害了,自动下载妹子视频...
    兄弟们,现在短视频主播好看的妹子太多了,有时候遇到自己喜欢的,虽然点了赞或者收藏了,但是万一主播把视频隐藏下架了呢?所以今天咱们就用Python来把这些好看的视频统统保存......
  • 38、python并发编程之IO模型
    38、python并发编程之IO模型  目录:一IO模型介绍二阻塞IO(blockingIO)三非阻塞IO(non-blockingIO)四多路复用IO(IOmultiplexing)五异步IO(A......
  • 37、python并发编程之协程
    37、python并发编程之协程  目录:一引子二协程介绍三Greenlet四Gevent介绍五Gevent之同步与异步六Gevent之应用举例一七Gevent之应用举例......
  • 32 python并发编程之背景知识
    32python并发编程之背景知识 目录:一引子二为什么要有操作系统三什么是操作系统四操作系统与普通软件的区别五操作系统发展史六总结视频链接:......
  • Shell脚本调试技术
    前言shell编程在unix/linux世界中使用得非常广泛,熟练掌握shell编程也是成为一名优秀的unix/linux开发者和系统管理员的必经之路。脚本调试的主要工作就是发现引发脚本错误......
  • 日志库Zap
    1、介绍Zap提供了两种类型的日志记录器—SugaredLogger和Logger。在性能很好但不是很关键的上下文中,使用SugaredLogger。它比其他结构化日志记录包快4-10倍,并且支持结构......
  • 7、Python语法入门之流程控制
    7、Python语法入门之流程控制  目录:引子分支结构什么是分支结构为什么要用分支结构如何使用分支结构if语法if应用案例循环结构什么是循......
  • python lambda函数 匿名函数
    先用def来定义函数,代码如下defsq(x):returnx*xmap(sq,[yforyinrange(10)])再用lambda函数来编写代码map(lambdax:x*x,[yforyinrange(10)])用lam......
  • 3、Python语法入门之变量
    3、Python语法入门之变量  目录一引入二变量1、什么是变量?2、为什么要有变量?3、怎么使用变量(先定义、后调用)3.1变量的定义与使用3.2变......
  • 4、Python语法入门之基本数据类型
    4、Python语法入门之基本数据类型 目录一引子二数字类型2.1int整型2.1.1作用2.1.2定义2.2float浮点型2.2.1作用2.2.2定义2.3数字......