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é)果返回,所以就直接打印出來(lái)了。
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)行其它的很多操作。
不僅可以讀,還可以寫,不過(guò)需要設(shè)定popen的第二個(gè)參數(shù)mode為'w'。
commands.getstatusoutput()
這個(gè)在執(zhí)行完指令之后會(huì)同時(shí)返回狀態(tài)值和命令輸出,不過(guò)它似乎無(wú)法區(qū)分stdout和stderr,所以在3.x版本中被廢掉了,這里不再介紹。
subprocess.call()
也是在Shell下執(zhí)行指令,整個(gè)subprocess模塊是一個(gè)比較完備的模塊,是用來(lái)代替os.system()等的。
call函數(shù)的原型如下:

這里舉一個(gè)簡(jiǎn)單的例子:
import subprocess
subprocess.call('git')關(guān)于subprocess模塊的總體介紹,見(jiàn)
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)文章
詳解Python中的數(shù)據(jù)精度問(wèn)題
這篇文章主要為大家詳細(xì)介紹了Python中常常遇到的一些數(shù)據(jù)精度問(wèn)題以及它們的解決方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-10-10
Python button選取本地圖片并顯示的實(shí)例
今天小編就為大家分享一篇Python button選取本地圖片并顯示的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
解決pandas read_csv 讀取中文列標(biāo)題文件報(bào)錯(cuò)的問(wèn)題
今天小編就為大家分享一篇解決pandas read_csv 讀取中文列標(biāo)題文件報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
django組合搜索實(shí)現(xiàn)過(guò)程詳解(附代碼)
這篇文章主要介紹了django組合搜索實(shí)現(xiàn)過(guò)程詳解(附代碼),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
python 編程之twisted詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了python 編程之twisted詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-01-01
解決Django生產(chǎn)環(huán)境無(wú)法加載靜態(tài)文件問(wèn)題的解決
這篇文章主要介紹了解決Django生產(chǎn)環(huán)境無(wú)法加載靜態(tài)文件問(wèn)題的解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04

