os.system()
在shell中执行一条命令。函数原型如下:
它是最简单的调用系统应用的方式,下面是一个例子:
import osimport sysos.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 .2018/07/01 00:57 ..2018/06/11 22:09 1,332 .gitignore2018/06/11 20:57 .vscode2018/06/12 00:27 begining-python2018/07/01 00:58 python-notes2018/07/01 00:57 python-tools2018/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 osimport sysinfo = 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 subprocesssubprocess.call('git')
关于subprocess模块的总体介绍,见
17.5. subprocess — Subprocess management — Python 3.6.15 documentation。
以上就是python调用系统中应用程序的详细内容,更多关于python调用系统应用的资料请关注脚本之家其它相关文章!