栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Python应用】Python中调用系统应用程序

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Python应用】Python中调用系统应用程序

os.system()

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

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

import os
import sys


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

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

D:Codespython_everything>cd d:Codespython_everything && cmd /C "set "PYTHONIOENCODING=UTF-8" && set "PYTHONUNBUFFERED=1" && C:Python36python.exe c:UsersHOME.vscodeextensionsms-python.python-2018.6.0pythonFilesPythonToolsvisualstudio_py_launcher.py d:Codespython_everything 56010 34806ad9-833a-4524-8cd6-18ca4aa74f14 RedirectOutput,RedirectOutput d:Codespython_everythingpython-notesWindowsAppCall.py "
 驱动器 D 中的卷是 DATA1
 卷的序列号是 A473-C4EE

 D:Codespython_everything 的目录

2018/07/01  00:57              .
2018/07/01  00:57              ..
2018/06/11  22:09             1,332 .gitignore
2018/06/11  20:57              .vscode
2018/06/12  00:27              begining-python
2018/07/01  00:58              python-notes
2018/07/01  00:57              python-tools
2018/06/21  23:06               204 README.md
               2 个文件          1,536 字节
               6 个目录 235,383,660,544 可用字节
usage: git [--version] [--help] [-C ] [-c =]
           [--exec-path[=]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=] [--work-tree=] [--namespace=]
            []

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。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/833884.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号