python调用系统中应用程序的函数示例

 更新时间:2022年06月07日 08:29:14   作者:jiangwei0512  
这篇文章主要为大家介绍了python调用系统中应用程序详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

os.system()

在shell中执行一条命令。函数原型如下:

它是最简单的调用系统应用的方式,下面是一个例子:

import os
import sys
os.system("dir")
os.system("git")

结果如下(在VS Code中的打印结果,后面略了一部分打印信息):

D:\Codes\python_everything>cd d:\Codes\python_everything && cmd /C "set "PYTHONIOENCODING=UTF-8" && set "PYTHONUNBUFFERED=1" && C:\Python36\python.exe c:\Users\HOME\.vscode\extensions\ms-python.python-2018.6.0\pythonFiles\PythonTools\visualstudio_py_launcher.py d:\Codes\python_everything 56010 34806ad9-833a-4524-8cd6-18ca4aa74f14 RedirectOutput,RedirectOutput d:\Codes\python_everything\python-notes\WindowsAppCall.py "
 驱动器 D 中的卷是 DATA1
 卷的序列号是 A473-C4EE
 D:\Codes\python_everything 的目录
2018/07/01  00:57    <DIR>          .
2018/07/01  00:57    <DIR>          ..
2018/06/11  22:09             1,332 .gitignore
2018/06/11  20:57    <DIR>          .vscode
2018/06/12  00:27    <DIR>          begining-python
2018/07/01  00:58    <DIR>          python-notes
2018/07/01  00:57    <DIR>          python-tools
2018/06/21  23:06               204 README.md
               2 个文件          1,536 字节
               6 个目录 235,383,660,544 可用字节
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]
These are common Git commands used in various situations:

调用该函数直接将返回结果返回,所以就直接打印出来了。

os.popen()

也是在Shell下执行一条指令,但是它会返回一个文件描述符,这个文件描述符对应到管道对象,可以从中读取命令执行的返回信息。函数原型如下:

下面是一个例子:

import os
import sys
info = os.popen("dir")
print(info.readline())
print(info.readline())
print(info.readline())
print(info.readline())
print(info.readline())

因为popen返回的是一个文件对象,因此可以去读,也可以进行其它的很多操作。

不仅可以读,还可以写,不过需要设定popen的第二个参数mode为'w'。

commands.getstatusoutput()

这个在执行完指令之后会同时返回状态值和命令输出,不过它似乎无法区分stdout和stderr,所以在3.x版本中被废掉了,这里不再介绍。

subprocess.call()

也是在Shell下执行指令,整个subprocess模块是一个比较完备的模块,是用来代替os.system()等的。

call函数的原型如下:

这里举一个简单的例子:

import subprocess
subprocess.call('git')

关于subprocess模块的总体介绍,见

17.5. subprocess — Subprocess management — Python 3.6.15 documentation。

以上就是python调用系统中应用程序的函数示例的详细内容,更多关于python调用系统程序函数的资料请关注脚本之家其它相关文章!

相关文章

  • 深入Python函数编程的一些特性

    深入Python函数编程的一些特性

    这篇文章主要介绍了更为深入的Python函数编程的一些特性,本文来自于IBM官方开发者技术文档,需要的朋友可以参考下
    2015-04-04
  • 基于多进程中APScheduler重复运行的解决方法

    基于多进程中APScheduler重复运行的解决方法

    今天小编就为大家分享一篇基于多进程中APScheduler重复运行的解决方法,具有很好的价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python保存dict字典类型数据到Mysql并自动创建表与列

    Python保存dict字典类型数据到Mysql并自动创建表与列

    这篇文章主要介绍了Python保存dict字典类型数据到Mysql并自动创建表与列,字典是另一种可变容器模型,且可存储任意类型对象,想了解更多内容的小伙伴可以和小编一起进入下面文章学习更多内容,希望对你有所帮助
    2022-02-02
  • python3.9不支持pillow包解决办法

    python3.9不支持pillow包解决办法

    本文主要介绍了python3.9不支持pillow包解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • 浅析如何在Python中使用结构模式匹配

    浅析如何在Python中使用结构模式匹配

    在Python 3.10中引入了模式匹配语法,允许我们在应用程序中使用强大的新编程技术进行决策,下面我们就来讲讲如何在Python中使用结构模式匹配吧
    2023-08-08
  • Python+Turtle实现绘制勾股树

    Python+Turtle实现绘制勾股树

    毕达哥拉斯树,也叫“勾股树”,是由毕达哥拉斯根据勾股定理所画出来的一个可以无限重复的树形图形。本文将利用Python中的Turtle库实现勾股树的绘制,感兴趣的可以了解一下
    2023-01-01
  • 关于python的编码与解码decode()方法及zip()函数

    关于python的编码与解码decode()方法及zip()函数

    这篇文章主要介绍了关于python的编码与解码decode()方法及zip()函数,encode0 方法是字符串对象内置的一个实现方法用于实现编码操作,需要的朋友可以参考下
    2023-04-04
  • django的分页器Paginator 从django中导入类

    django的分页器Paginator 从django中导入类

    这篇文章主要介绍了django的分页器Paginator 从django中导入类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python基于pandas绘制散点图矩阵代码实例

    Python基于pandas绘制散点图矩阵代码实例

    这篇文章主要介绍了Python基于pandas绘制散点图矩阵代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • 彻底解决pip下载pytorch慢的问题方法

    彻底解决pip下载pytorch慢的问题方法

    这篇文章主要介绍了彻底解决pip下载pytorch慢的问题方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论