亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python面試之os.system()和os.popen()的區(qū)別詳析

 更新時間:2022年06月09日 11:25:39   作者:測試開發(fā)Kevin  
Python調(diào)用Shell,有兩種方法:os.system(cmd)或os.popen(cmd)腳本執(zhí)行過程中的輸出內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于Python面試之os.system()和os.popen()區(qū)別的相關(guān)資料,需要的朋友可以參考下

os.system()和os.popen()概述

大家搞python與操作系統(tǒng)交互時,必須掌握的兩個方法就是os.system()和os.popen(),也是在相關(guān)技術(shù)領(lǐng)域面試中必問的題目!本文就對這兩個命令進(jìn)行詳細(xì)介紹,os.system()和os.popen()都可以執(zhí)行shell命令,但是他們還是有一定的區(qū)別的。

話不多說,先拿實例說事兒!

目錄/opt/scripts/test 中包括文件:ClassDemo2.groovy ClassDemo.groovy Demo3.groovy pyscript.py

我們執(zhí)行os.system命令:

>>> os.system('cd /opt/scripts/test;ls')
ClassDemo2.groovy ClassDemo.groovy Demo3.groovy pyscript.py
0

這里的0表示執(zhí)行成功

接下來再看os.popen命令:

>>> os.popen('cd /opt/scripts/test;ls')
<open file 'cd /opt/scripts/test;ls', mode 'r' at 0x7fa7dd7d1660>

如果想看到具體的值,可以這樣使用

>>> f=os.popen('cd /opt/scripts/test;ls')
>>> print(f.readlines())
['ClassDemo2.groovy\n', 'ClassDemo.groovy\n', 'Demo3.groovy\n', ,'pyscript.py\n']

注意如果連續(xù)執(zhí)行多條語句可以使用“;”分割,實例中的cd /opt/scripts/test;ls 就是相關(guān)應(yīng)用。

具體細(xì)節(jié)如下:

1. 命令被分號“;”分隔,這些命令會順序執(zhí)行下去;

2. 命令被“&&”分隔,這些命令會順序執(zhí)行下去,遇到執(zhí)行錯誤的命令停止;

3. 命令被雙豎線“||”分隔,這些命令會順序執(zhí)行下去,遇到執(zhí)行成功的命令停止,后面的所有命令都將不會執(zhí)行;

os.system細(xì)節(jié)

os.system方法是os模塊最基礎(chǔ)的方法,其它的方法一般在該方法基礎(chǔ)上封裝完成。返回的是退出狀態(tài)碼。os的system原理是每一條system函數(shù)執(zhí)行時,通過當(dāng)前 Shell 啟動的一個新的子進(jìn)程或子 Shell 被稱為 SubShell (子 Shell )。子 Shell 會自動繼承父 Shell 的很多環(huán)境,如環(huán)境變量、工作目錄、文件描述符等,但是反之,子 Shell 中的環(huán)境僅在子 Shell 中有效,父 Shell 無法讀取子 Shell 的環(huán)境。例如,如果在父 shell 里定義全局變量,子 shell 中就可以調(diào)用該變量。但當(dāng)在子 shell 中定義一個局部變量時,父 shell 是無法讀取該變量的。

os.popen細(xì)節(jié)

os.popen() 方法用于從一個命令打開一個管道,返回的是命令的輸出結(jié)果。從這個命令獲取的值可以繼續(xù)被使用。因為它返回一個文件對象,可以對這個文件對象進(jìn)行相關(guān)的操作。

popen()方法語法格式:

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

參數(shù):

command -- 使用的命令

mode -- 模式權(quán)限可以是 'r'(默認(rèn)) 或 'w'。

bufsize -- 指明了文件需要的緩沖大小:0意味著無緩沖;1意味著行緩沖;其它正值表示使用參數(shù)大小的緩沖(大概值,以字節(jié)為單位)。負(fù)的bufsize意味著使用系統(tǒng)的默認(rèn)值,一般來說,對于終端設(shè)備,它是行緩沖;對于其它文件,它是全緩沖。如果沒有改參數(shù),使用系統(tǒng)的默認(rèn)值。

返回值:

返回一個文件描述符號為fd(文件索引)的打開的文件對象

二者使用總結(jié)

如果要直接看到運行結(jié)果的話,應(yīng)該使用os.system;如果需要獲取返回值做進(jìn)一步的處理則使用os.popen

到此這篇關(guān)于Python面試之os.system()和os.popen()區(qū)別的文章就介紹到這了,更多相關(guān)Python os.system()和os.popen()區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python PyInstaller安裝和使用教程詳解

    Python PyInstaller安裝和使用教程詳解

    這篇文章主要介紹了Python PyInstaller安裝和使用教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • PyCharm搭建Spark開發(fā)環(huán)境實現(xiàn)第一個pyspark程序

    PyCharm搭建Spark開發(fā)環(huán)境實現(xiàn)第一個pyspark程序

    這篇文章主要介紹了PyCharm搭建Spark開發(fā)環(huán)境實現(xiàn)第一個pyspark程序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python3實現(xiàn)網(wǎng)頁內(nèi)容轉(zhuǎn)換成PDF文檔和圖片

    Python3實現(xiàn)網(wǎng)頁內(nèi)容轉(zhuǎn)換成PDF文檔和圖片

    pdfkit是把 HTML+CSS 格式的文件轉(zhuǎn)換成 PDF 的一種工具,它是 wkhtmltopdf 這個工具包的 python 封裝。本文將利用pdfkit實現(xiàn)網(wǎng)頁內(nèi)容轉(zhuǎn)換成PDF文檔和圖片效果,感興趣的可以學(xué)習(xí)一下
    2022-06-06
  • Python實現(xiàn)簡單的語音識別系統(tǒng)

    Python實現(xiàn)簡單的語音識別系統(tǒng)

    這篇文章主要介紹了Python實現(xiàn)簡單的語音識別系統(tǒng),具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • 調(diào)試Django時打印SQL語句的日志代碼實例

    調(diào)試Django時打印SQL語句的日志代碼實例

    這篇文章主要介紹了調(diào)試Django時打印SQL語句的日志代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Python判斷字符串是否為空和null方法實例

    Python判斷字符串是否為空和null方法實例

    這篇文章主要介紹了Python判斷字符串是否為空和null,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • python包管理工具pip全面解析

    python包管理工具pip全面解析

    這篇文章主要為大家介紹了python包管理工具pip的全面解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 淺談python累加求和+奇偶數(shù)求和_break_continue

    淺談python累加求和+奇偶數(shù)求和_break_continue

    這篇文章主要介紹了淺談python累加求和+奇偶數(shù)求和_break_continue,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 用python畫一只帥氣的皮卡丘

    用python畫一只帥氣的皮卡丘

    大家好,本篇文章主要講的是用python畫一只帥氣的皮卡丘,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python實現(xiàn)圖片與視頻互轉(zhuǎn)代碼實戰(zhàn)(親測有效)

    Python實現(xiàn)圖片與視頻互轉(zhuǎn)代碼實戰(zhàn)(親測有效)

    圖片轉(zhuǎn)視頻,視頻轉(zhuǎn)圖片手機一操作,立馬轉(zhuǎn)換過來,那么基于代碼是如何操作的呢?下面小編給大家?guī)砹薖ython實現(xiàn)圖片與視頻互轉(zhuǎn)代碼實戰(zhàn),感興趣的朋友跟隨小編一起看看吧
    2021-12-12

最新評論