python調(diào)用系統(tǒng)中應(yīng)用程序的函數(shù)示例
os.system()
在shell中執(zhí)行一條命令。函數(shù)原型如下:
它是最簡(jiǎn)單的調(diào)用系統(tǒng)應(yīng)用的方式,下面是一個(gè)例子:
import os import sys os.system("dir") os.system("git")
結(jié)果如下(在VS Code中的打印結(jié)果,后面略了一部分打印信息):
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 " 驅(qū)動(dòng)器 D 中的卷是 DATA1 卷的序列號(hào)是 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 個(gè)文件 1,536 字節(jié) 6 個(gè)目錄 235,383,660,544 可用字節(jié) 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:
調(diào)用該函數(shù)直接將返回結(jié)果返回,所以就直接打印出來了。
os.popen()
也是在Shell下執(zhí)行一條指令,但是它會(huì)返回一個(gè)文件描述符,這個(gè)文件描述符對(duì)應(yīng)到管道對(duì)象,可以從中讀取命令執(zhí)行的返回信息。函數(shù)原型如下:
下面是一個(gè)例子:
import os import sys info = os.popen("dir") print(info.readline()) print(info.readline()) print(info.readline()) print(info.readline()) print(info.readline())
因?yàn)閜open返回的是一個(gè)文件對(duì)象,因此可以去讀,也可以進(jìn)行其它的很多操作。
不僅可以讀,還可以寫,不過需要設(shè)定popen的第二個(gè)參數(shù)mode為'w'。
commands.getstatusoutput()
這個(gè)在執(zhí)行完指令之后會(huì)同時(shí)返回狀態(tài)值和命令輸出,不過它似乎無法區(qū)分stdout和stderr,所以在3.x版本中被廢掉了,這里不再介紹。
subprocess.call()
也是在Shell下執(zhí)行指令,整個(gè)subprocess模塊是一個(gè)比較完備的模塊,是用來代替os.system()等的。
call函數(shù)的原型如下:
這里舉一個(gè)簡(jiǎn)單的例子:
import subprocess subprocess.call('git')
關(guān)于subprocess模塊的總體介紹,見
17.5. subprocess — Subprocess management — Python 3.6.15 documentation。
以上就是python調(diào)用系統(tǒng)中應(yīng)用程序的函數(shù)示例的詳細(xì)內(nèi)容,更多關(guān)于python調(diào)用系統(tǒng)程序函數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
入門tensorflow教程之TensorBoard可視化模型訓(xùn)練
在本篇文章中,主要介紹 了TensorBoard 的基礎(chǔ)知識(shí),并了解如何可視化訓(xùn)練模型中的一些基本信息,希望對(duì)大家的TensorBoard可視化模型訓(xùn)練有所幫助2021-08-08OPENCV去除小連通區(qū)域,去除孔洞的實(shí)例講解
今天小編就為大家分享一篇OPENCV去除小連通區(qū)域,去除孔洞的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06Python?ORM框架之SQLAlchemy?的基礎(chǔ)用法
這篇文章主要介紹了Python?ORM框架之SQLAlchemy?的基礎(chǔ)用法,ORM全稱?Object?Relational?Mapping對(duì)象關(guān)系映射,更多詳細(xì)內(nèi)容需要的小伙伴課題參考下面文章介紹。希望對(duì)你的學(xué)習(xí)有所幫助2022-03-03Python使用sftp實(shí)現(xiàn)傳文件夾和文件
這篇文章主要為大家詳細(xì)介紹了Python使用sftp實(shí)現(xiàn)傳文件夾和文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04python中關(guān)于property的最詳細(xì)使用方法
這篇文章主要介紹了python中關(guān)于property的最詳細(xì)使用方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04python嵌套字典比較值與取值的實(shí)現(xiàn)示例
這篇文章主要給大家介紹了關(guān)于python嵌套字典比較值與取值的實(shí)現(xiàn)方法,詳細(xì)介紹了python字典嵌套字典的情況下獲取某個(gè)key的value的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),需要的朋友們下面來一起看看吧。2017-11-11