python调用系统中应用程序的函数示例
作者:jiangwei0512 发布时间:2021-01-18 11:06:32
标签: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。
来源:https://blog.csdn.net/jiangwei0512/article/details/80861733


猜你喜欢
- 1. 命令行不知道大家在日常操作redis时用什么可视化工具呢?以前总觉得没有什么太好的可视化工具,于是问了一个业内朋友。对方回:你还用可视
- 导语每日游戏更新系列——今天带大家来看看扫雷小游戏!它是许多人接触到的第一款游戏,大概也是广大办公族和无网学生无聊时消遣的最佳游戏。在那些还
- 一个JavaScript代码编写的图片展示特效,效果很棒。效果图:演示:<!DOCTYPE HTML PUBLIC "-//
- 实例如下:import sysdef print_all(module_): modulelist = dir(module_)
- 用python实现文件夹下的成批文件格式转换我们对于文件转换的需求很大,甚至于对于图片的格式,JPG和PNG格式在肉眼看来都没什么差别,但是
- 解决方案:1、在MY.INI文件中的 [mysqld] 中增加一行tmpdir="D:/MySQL/data/"修改后,
- mysql 加了 skip-name-resolve不能链接的问题,要确认 MySql 是否采用过主机名的授权在 MySql Server
- 异步过渡方案Generator在使用 Generator 前,首先知道 Generator 是什么。如果读者有 Python 开发经验,就会
- 首先写一个简单的drf接口from rest_framework.views import APIViewfrom rest_framewo
- WINDOWS 下装MongoDB先去官网下载 :https://www.mongodb.com/download-center
- Error是Go语言开发中最基础也是最重要的部分,跟其他语言的try catch的作用基本一致,想想在PHP JAVA开发中,try cat
- 简单的for循环打印三角形1,for循环方法实现星星三角代码:for i in range(0,5):for j in range(i+1)
- 本文实例讲述了Python实现基于KNN算法的笔迹识别功能。分享给大家供大家参考,具体如下:需要用到:Numpy库Pandas库手写识别数据
- 一、导入re库python使用正则表达式要导入re库。import re在re库中。正则表达式通常被用来检索查找、替换那些符合某个模式(规则
- 用Python对数学函数进行求值、求偏导from sympy import *# x = Symbol("x")# y
- 我就废话不多说了,大家还是直接看代码吧!a1 = raw_input("please input a number")a
- 1.1 什么是数据库数据库(database)是一个以某种有组织的方式存储的数据集合。 保存有组织的数据的容器(通常是一个文件或一组文件)注
- 本文适用范围:全面阐述MySQL数据库的各种操作,分虚拟主机和服务器两种情况。虚拟主机1、通过PHPMyAdmin的导入导出功能,这个软件一
- 本文实例讲述了python中sys.argv参数用法。分享给大家供大家参考。具体分析如下:在学python的过程中,一直弄不明白sys.ar
- 维护脚本一例,写得有点乱,只是作为一个实例,演示如何快速利用工具快速达到目的:应用到:shell与python数据交互、数据抓取,编码转换#