import subprocess as sup  # 以下注释很多(为了自己以后不忘), 如果只是想在python中执行Linux命令, 看前5行就够了

# 3.5版本之后官方推荐使用sup.run()

sup.run("ls -l", shell=True)  # 如果参数args是字符串, shell要设置为True

sup.run(("ls", "-l"))  # 推荐args为一个序列, list/tuple, 元组效率高

# 命令有返回值, 字符串类型(下同)

# sup.run(), call()等方法都是基于sup.Popen类的封装, run()如果不够用可以自己定义此类

pp = Popen(("ls", "-l"), stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding="utf-8")  # 不输出到控制台

p2 = subprocess.Popen(['grep', 'data'], stdin=pp.stdout, stdout=subprocess.PIPE)  # 可以将上一个命令的输出作为下一个命令的输入, 不需要|(管道符)

try:

pp.wait(timeout=1)   #  等待1秒, 如果子进程没结束会报错(pp类是新开一个进程, 并在子进程中执行bash命令)

pp.kill()  # 命令执行结束杀死子进程

# 有些阻塞的命令不要设置超时时间更不要杀死, 比如: 命令行python, 但是这样的命令不用的时候, 还是要杀掉子进程

except:

pass

print(pp.stdout.read())  # 输出命令查询结果

# 着重说一下 municate()  # 另一种输出结果的方式, 还可以再传入命令input参数, 也可以再设置超时时间timeout

out, err = municate()  # 如果是像python这样的阻塞命令, 可以用input="print(1)", 再执行python代码

print(out)  # 输出bash命令结果, 字符串类型

python中执行linux命令(调用linux命令)_Python调用Linux bash命令相关推荐

  1. python中执行linux命令(调用linux命令)_常见Python中调用Linux命令

    有时候我们需要从Python中执行Linux命令,下面就介绍几种方法? 1. os 模块: 1.1 os.system 函数: system方法会创建子进程运行外部程序,方法只返回外部程序的运行结果. ...

  2. python调用shell命令-在Python中执行shell命令的6种方法,你都知道吗?

    原标题:在Python中执行shell命令的6种方法,你都知道吗? Python经常被称作"胶水语言",因为它能够轻易地操作其他程序,轻易地包装使用其他语言编写的库.今天我们就讲解 ...

  3. python调用shell命令-python中执行shell命令的几个方法小结

    最近有个需求就是页面上执行shell命令,第一想到的就是os.system, 复制代码 代码如下: os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或 ...

  4. python使用教程cmd啥意思-对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. ...

  5. python运行命令_对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. ...

  6. python运行方法_对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. ...

  7. Python中执行外部命令

    有很多需求需要在Python中执行shell命令.启动子进程,并捕获命令的输出和退出状态码,类似于Java中的Runtime类库. subprocess模块的使用: Python使用最广泛的是标准库的 ...

  8. 怎样在Python中执行cmd

    这篇文章主要给大家分享在Python中执行cmd,下文描述了三个方法使用os.system()方法.使用os.popen()方法.使用subprocess.Popen(),需要的朋友可以参考一下 1. ...

  9. python中cmd全称_【转】Python中执行cmd的三种方式

    原文链接:http://blog.csdn.net/menglei8625/article/details/7494094 目前我使用到的python中执行cmd的方式有三种: 1. 使用os.sys ...

最新文章

  1. 怎么测试一个人的计算机应用能力,对专业技术人员计算机应用能力考试的思考...
  2. 解决SQL server2005数据库死锁的经验心得
  3. linux不保存退出命令_面试提问说出16个linux命令,能凑齐不!高频22个Linux命令在这里...
  4. java web 进程通信_RMI网络编程开发之一 JAVA“进程间”通信方式
  5. tensorflow-tf.nn.conv2d卷积运算(2)
  6. powerbi的功能介绍_Power BI:1分钟快速生成可视化报表
  7. php undefined empty,怎样处理php undefined index毛病问题_后端开发
  8. 动画库tween.js
  9. 解读《视觉SLAM十四讲》,带你一步一步入门视觉SLAM—— 前言
  10. 可在linux运行的酷q,Linux通过docker安装运行酷Q--用QQ骰子君进行跑团
  11. 海德汉 LSV2 协议采集 2
  12. 平面点集的凸包问题的算法分析
  13. 录用了一篇 Omega
  14. ios 扇形 按钮_iOS 画圆弧或扇形
  15. 关于NYIST_ACM_OJ的注册登录和使用及其判题说明
  16. 堰流实验报告思考题_水力学的实验报告2篇
  17. 实验吧(逆向):分道扬镳
  18. matlab中abs()函数
  19. 次时代角色模型制作:高模制作(二)
  20. [附源码]计算机毕业设计JAVA游戏装备交易网站论文2022

热门文章

  1. 【Android】ViewPager实现无限循环滚动
  2. iOS 生成带 logo 的二维码,区域截屏保存至相册(小功能二连发 (一))
  3. C#图片灰度处理(位深度24→位深度8),用灰度数组byte[]新建一个8位灰度图像Bitmap 。...
  4. spring读取配置文件的几种方式
  5. zabbix监控windows 服务器各项性能
  6. Java单元测试与Jutil详解(一) 简介
  7. 性能优化工具 MVC Mini Profiler
  8. Swift 3.0 预告:将 Objc 库转换成更符合 Swift 语法风格的形式
  9. Delphi多线程编程中的技巧
  10. ROS 用 roboware实现节点信息发送和接收