最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Python中執(zhí)行cmd

 更新時(shí)間:2021年09月28日 15:41:12   作者:吳尼瑪  
這篇文章主要給大家分享在Python中執(zhí)行cmd,下文描述了三個(gè)方法使用os.system()方法、使用os.popen()方法、使用subprocess.Popen(),需要的朋友可以參考一下

1、使用os.system()方法

os.system用來(lái)執(zhí)行cmd指令,在cmd輸出的內(nèi)容會(huì)直接在控制臺(tái)輸出,返回結(jié)果為0表示執(zhí)行成功。

示例代碼:

# coding:utf-8

import os

os.system("ls")

PS:os.system()方法是簡(jiǎn)單粗暴的執(zhí)行cmd指令,沒(méi)有辦法獲取到cmd輸出的內(nèi)容。

PPS:os.system()方法在調(diào)用完shell腳本后,返回一個(gè)16位的二進(jìn)制數(shù),低位為殺死所調(diào)用腳本的信號(hào)號(hào)碼,高位為腳本的退出狀態(tài)碼,即腳本中“exit 1”的代碼執(zhí)行后,os.system函數(shù)返回值的高位數(shù)則是1,如果低位數(shù)是0的情況下,則函數(shù)的返回值是0x0100,換算為十進(jìn)制得到256。

2、使用os.popen()方法

os.popen()方法用于從一個(gè)命令打開(kāi)一個(gè)管道。在Unix,Windows中有效。os.popen返回的是一個(gè)file對(duì)象,同open打開(kāi)文件一樣操作。

popen()方法語(yǔ)法格式如下:

os.popen(command[, mode[, bufsize]])


參數(shù):

command – 使用的命令。
mode – 模式權(quán)限可以是 ‘r'(默認(rèn)) 或 ‘w'。
bufsize – 指明了文件需要的緩沖大?。?意味著無(wú)緩沖;1意味著行緩沖;其它正值表示使用參數(shù)大小的緩沖(大概值,以字節(jié)為單位)。負(fù)的bufsize意味著使用系統(tǒng)的默認(rèn)值,一般來(lái)說(shuō),對(duì)于tty設(shè)備,它是行緩沖;對(duì)于其它文件,它是全緩沖。如果沒(méi)有改參數(shù),使用系統(tǒng)的默認(rèn)值。


示例代碼:

# coding:utf-8

import os

# popen返回文件對(duì)象,同open操作一樣
f = os.popen(r"ls", "r")

l = f.read()
print(l)
f.close()

返回值是文件對(duì)象的推薦處理方法:

with os.popen(cmd, "r") as p:
    r = p.read()


使用它,不需要顯式的寫(xiě)p.close()。

PS:os.popen()方法是非阻塞的。

3、使用subprocess.Popen()

python2.4版本后,提供了subprocess這個(gè)模塊來(lái)產(chǎn)生子進(jìn)程,并且可以連接到子進(jìn)程的標(biāo)準(zhǔn)輸入、輸出、錯(cuò)誤中,還可以獲得子進(jìn)程的返回值。

subprocess.Popen()的定義如下:

class subprocess.Popen( args, 
  bufsize=0, 
  executable=None,
  stdin=None,
  stdout=None, 
  stderr=None, 
  preexec_fn=None, 
  close_fds=False, 
  shell=False, 
  cwd=None, 
  env=None, 
  universal_newlines=False, 
  startupinfo=None, 
  creationflags=0)


其參數(shù)意義在此不贅述。一段簡(jiǎn)單的示例代碼:

# coding:utf-8

import subprocess

p = subprocess.Popen("ls", shell=True, stdout=subprocess.PIPE)
r = p.stdout.read()
print(r)

PS:subprocess提供了2種方法調(diào)用子程序。subprocess.call()是阻塞式的,subprocess.Popen()是非阻塞的。

到此這篇關(guān)于在Python中執(zhí)行cmd的文章就介紹到這了,更多相關(guān)Python中執(zhí)行cmd內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

缙云县| 临桂县| 平乐县| 健康| 麻江县| 宁武县| 松阳县| 江山市| 临朐县| 黎川县| 长乐市| 漳平市| 新民市| 铁岭县| 台中县| 崇州市| 东光县| 武汉市| 大宁县| 手机| 茶陵县| 漾濞| 宣恩县| 钦州市| 吐鲁番市| 申扎县| 门头沟区| 巴彦淖尔市| 罗源县| 宁国市| 泰和县| 蒙自县| 阿克苏市| 芒康县| 新郑市| 常熟市| 海伦市| 金山区| 建阳市| 资中县| 眉山市|