返回顶部
首页 > 资讯 > 后端开发 > Python >一文看懂python如何执行cmd命令
  • 424
分享到

一文看懂python如何执行cmd命令

python开发语言 2023-09-03 11:09:19 424人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

  概要   “ 在进行python编程时,经常需要使用到操作系统的命令行,这就要求我们学会如何使用Python执行cmd命令。”   Python执行cmd命令的几种方法   Python是一种强大而灵活的编程语言,它可以很方便地执行

6afdd66663e44ecfb1abba37025ddc79.jpg

 

概要

 

 在进行python编程时,经常需要使用到操作系统的命令行,这就要求我们学会如何使用Python执行cmd命令。


 

Python执行cmd命令的几种方法

 

Python是一种强大而灵活的编程语言,它可以很方便地执行系统命令,与操作系统进行交互。本文将介绍Python执行cmd命令的几种常用方法,以及它们的优缺点和使用场景。

 

1. 使用os模块的os.system()函数

 

os模块是Python标准库中的一个模块,它提供了一些与操作系统相关的函数和变量。其中,os.system()函数可以将字符串转化成命令在服务器上运行,返回值是命令的退出状态码,0表示成功,1表示失败,256表示没有返回结果。例如:

import osa = os.system("ping 192.168.1.101") # 使用a接收返回值print(a)

这种方法的优点是简单易用,不需要额外的模块导入。缺点是无法获取命令的输出内容,只能获取返回值;而且每次执行命令都会创建一个新的子进程,在资源消耗上比较大。

 

2. 使用os模块的os.popen()函数

 

os.popen()函数也是os模块中的一个函数,它可以通过管道的方式来执行系统命令,返回值是一个文件对象,可以读或者写。如果需要读取输出内容,可以调用read()或readlines()方法。例如:

import osa = os.popen("ipconfig") # 使用a接收返回值print(a.read()) # 读取输出内容

这种方法的优点是可以获取命令的输出内容,并对其进行处理;缺点是无法获取命令的返回值,而且也会创建新的子进程。

 

3. 使用subprocess模块

 

subprocess模块是Python从2.4版本开始引入的模块,主要用来取代一些旧的模块方法,如os.system、os.spawn、os.popen、commands.*等。官方推荐使用该模块执行系统命令,subprocess模块通过子进程来执行外部指令,并通过input/output/error管道,获取子进程的执行结果。常用的函数有subprocess.Popen()、subprocess.call()、subprocess.run()等。

 

3.1 使用subprocess.Popen()

 

使用Popen可以创建进程,并与进程进行复杂的交互。它接受一个命令或者一个命令列表作为参数,并返回一个Popen对象。通过调用Popen对象的communicate()方法可以获取输出和错误信息。例如:

import subprocess# 使用Popen创建进程,并与进程进行复杂的交互proc = subprocess.Popen(    'ipconfig', # cmd特定的查询空间的命令    stdin=None, # 标准输入 键盘    stdout=subprocess.PIPE, # -1 标准输出(演示器、终端) 保存到管道中以便进行操作    stderr=subprocess.PIPE, # 标准错误,保存到管道    shell=True)outinfo, errinfo = proc.communicate() # 获取输出和错误信息print(outinfo.decode('gbk')) # 外部程序 (windows系统)决定编码格式print(errinfo.decode('gbk'))

这种方法的优点是可以灵活地控制输入和输出,并与子进程进行交互;缺点是参数比较复杂,而且需要注意编码格式。

 

3.2 使用subprocess.call()

 

使用call执行指定的命令,返回命令执行状态,功能类似os.system()函数,参数shell默认为False。例如:

import subprocess# 使用call执行指定的命令,返回命令执行状态subprocess.call(['df', '-h']) # 数组作为参数运行命令

这种方法的优点是可以获取命令的返回值,并且不需要指定shell参数;缺点是无法获取命令的输出内容。

 

3.3 使用subprocess.run()

 

subprocess.run()是python3.5中新增的函数,执行指定的命令,返回一个包含执行结果的CompletedProcess类的实例。通过访问CompletedProcess类的属性和方法可以获取更多信息。例如:

import subprocess# 使用run执行指定的命令,返回一个包含执行结果的CompletedProcess类的实例result = subprocess.run(['ls', '-l'])print(result.returncode) # 返回码print(result.stdout) # 标准输出print(result.stderr) # 标准错误

这种方法的优点是可以获取更多信息,并且简化了Popen类的使用;缺点是只适用于Python3.5及以上版本。

 

4. 使用cmd模块

 

cmd模块提供了一个简单框架用于编写面向行的命令解释器。可以通过继承Cmd类并实现do_*()方法来自定义解释器类,并且封装动作方法。例如:

import cmdclass MyShell(cmd.Cmd):    intro = 'Welcome to my shell. Type help or ? to list commands.\n'    prompt = '(myshell) '    file = None    def do_greet(self, arg):        'Greet the person'        print(f'Hello {arg}!')    def do_exit(self, arg):        'Exit the shell'        print('Bye')        return Trueif __name__ == '__main__':    MyShell().cmdloop()

这种方法的优点是可以自定义自己的解释器,并提供帮助信息和自动补全功能;缺点是需要编写更多代码,并且不适合复杂或者交互式的命令。

总体来说:

  • 如果只需要简单地执行一条无需输出内容或者交互式输入参数等功能时,则可使用os.system()函数。

  • 如果需要获取输出内容,则可使用os.popen()函数或者subprocess.Popen()类。

  • 如果需要获取返回值,则可使用os.system()函数或者subprocess.call()函数。

  • 如果需要与子进程进行复杂交互,则可使用subprocess.Popen()类。

  • 如果需要自定义自己的解释器,则可使用cmd模块。

以上就是这次介绍的几种常用操作cmd命令的方法,你学会了嘛?

 

如果对你有帮助,欢迎转发点赞收藏,感谢🙏

 

来源地址:https://blog.csdn.net/Rocky006/article/details/131154694

--结束END--

本文标题: 一文看懂python如何执行cmd命令

本文链接: https://lsjlt.com/news/392136.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 一文看懂python如何执行cmd命令
      概要   “ 在进行Python编程时,经常需要使用到操作系统的命令行,这就要求我们学会如何使用Python执行cmd命令。”   Python执行cmd命令的几种方法   Python是一种强大而灵活的编程语言,它可以很方便地执行...
    99+
    2023-09-03
    python 开发语言
  • python执行cmd命令
    最典型的模块 一,执行cmd并读取返回值 import subprocess p = subprocess.Popen("ls", stdout=subprocess.PIPE, universal_newl...
    99+
    2023-01-31
    命令 python cmd
  • python下执行cmd命令
    使用os import os result = os.popen("ipconfig") print (result.read()) 这种方式有返回值,因而使用起来较为方便 ...
    99+
    2023-01-31
    命令 python cmd
  • JAVAscript如何执行cmd命令
    这篇文章主要介绍JAVAscript如何执行cmd命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! JAVAscript执行cmd命令的方法:首先打开相...
    99+
    2024-04-02
  • Java如何执行cmd命令
    目录Java执行cmd命令Java执行cmd命令总结解释一下参数 总结Java执行cmd命令 //当前绝对路径 System.out.println(IoUtil.read...
    99+
    2023-01-09
    Java执行cmd命令 Java执行cmd Java cmd命令
  • python怎么执行cmd命令
    在 Python 中执行 cmd 命令,可以使用 `os` 模块中的 `system()` 或 `popen()` 方法。下面是使用...
    99+
    2023-09-22
    python
  • java如何连续执行多条cmd命令
    java连续执行多条cmd命令 命令之间用&连接 例如: Process p = Runtime.getRuntime().exec("cmd /c d: & c...
    99+
    2024-04-02
  • 一文带你看懂MySQL执行计划
    目录前言explain/desc 用法explain/desc 输出详解一、id ,select 查询序列号二、select_type,查询语句类型三、table,查询涉及...
    99+
    2024-04-02
  • python代码调出cmd命令行窗口并在cmd窗口中执行指定的命令
    有时候,我们需要在python代码中打开 cmd命令行窗口,并在新打开的命令行cmd窗口中执行特定的命令, 其实,这个操作很容易,不过在网上找了一圈,都是没有说明白, 这里总结发布一下, 导入 os...
    99+
    2023-09-21
    windows
  • linux如何查看历史执行命令
    在Linux系统中,可以使用以下几种方法来查看历史执行命令: 使用 history 命令:直接在终端输入 history 命令,...
    99+
    2024-04-02
  • java如何执行(命令执行)
    执行java文件方法:(相关视频教程推荐:java视频教程)使用环境:jdk1.6文件目录:javac *.java会生成对应的*.class文件java *.class就可以执行了,.class可以省略t.java中是没有包的public...
    99+
    2019-10-16
    java
  • python打包exe文件并隐藏执行CMD命令窗口问题
    目录python打包exe文件并隐藏执行CMD命令窗口Python打包exe程序避坑指南:没有安装包也能运行小程序如果有问题看下面总结python打包exe文件并隐藏执行CMD命令窗...
    99+
    2023-01-12
    python打包exe文件 隐藏执行CMD命令 python CMD命令
  • cmd命令如何同时运行两个命令
    这篇文章主要讲解了“cmd命令如何同时运行两个命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“cmd命令如何同时运行两个命令”吧!cmd命令同时运行两个命令方法:首先同时按下Win+R在打...
    99+
    2023-07-01
  • cmd命令如何删除文件
    这篇文章主要介绍“cmd命令如何删除文件”,在日常操作中,相信很多人在cmd命令如何删除文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”cmd命令如何删除文件”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-01
  • 如何快速看懂MySQL执行计划
    这篇文章主要介绍了如何快速看懂MySQL执行计划的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何快速看懂MySQL执行计划文章都会有所收获,下面我们一起来看看吧。通常查询慢查...
    99+
    2023-03-15
    mysql
  • C#如何实现执行CMD命令并接收返回结果
    这篇文章主要介绍C#如何实现执行CMD命令并接收返回结果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!最近工作的时候发现软件里面通过查询ARP表查询某一IP对应的ARP条目的时,概率性出现查询到的ARP条目为空,一开...
    99+
    2023-06-14
  • 如何用cmd命令查看电脑配置
    本篇内容介绍了“如何用cmd命令查看电脑配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!cmd命令查看电脑配置操作方法:在系统桌面同时按下...
    99+
    2023-07-01
  • shell命令行模式中如何执行mongo命令
    小编给大家分享一下shell命令行模式中如何执行mongo命令,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • cmd命令行下如何切换目录
    这篇文章主要介绍“cmd命令行下如何切换目录”,在日常操作中,相信很多人在cmd命令行下如何切换目录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”cmd命令行下如何切换目录”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-01
  • 如何执行mysql命令行脚本
    这篇文章给大家介绍如何执行mysql命令行脚本,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。命令行连接在工作中主要使用命令操作方式,要求熟练编写打开终端,运行命令mysql ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作