第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

os.devnull 和 subprocess.pipe 的區(qū)別

os.devnull 和 subprocess.pipe 的區(qū)別

守候你守候我 2021-06-16 14:01:27
我一直想知道如何不打印從Python的外殼輸出subprocess.call()的分配open(os.devnull, 'w')和subprocess.PIPE對(duì)stdout值:subprocess.call(command, stdout=open(os.devnull, 'w'), shell=True)和subprocess.call(command, stdout=subprocess.PIPE, shell=True)這兩行都謹(jǐn)慎地執(zhí)行存儲(chǔ)在命令變量中的 shell 命令(終端上沒(méi)有輸出) - 但我不知道兩者之間的區(qū)別。我是使用子流程的新手。
查看完整描述

2 回答

?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊

第一種方法是將標(biāo)準(zhǔn)輸出重定向到一個(gè)文件(POSIX 中的 /dev/null),而第二種方法是構(gòu)建一個(gè) PIPE 將輸出重定向到特定的流。

來(lái)自命令 help() 的 subprocess.PIPE 的官方定義:“該模塊允許您生成進(jìn)程,連接到它們的輸入/輸出/錯(cuò)誤管道,并獲取它們的返回代碼。”

我會(huì)說(shuō)這種方法就像:我們只是將一些東西放在消息隊(duì)列(內(nèi)存)中一段時(shí)間以備后用。但是 subprocess.call 只是返回狀態(tài)碼。似乎您無(wú)法引用返回值,subprocess.call(command, stdout=open(os.devnull, 'w'), shell=True)因此無(wú)法通過(guò)`subprocess.call(command, stdin=the_stdout, shell=True) 引用該值。很難在兩個(gè)命令之間建立連接。

基于本文中的信息:http : //blog.acipo.com/running-shell-commands-in-python/

還有 Python 2.7 文檔:https : //docs.python.org/2/library/subprocess.html

建議我們可以將 Popen 與 communication() 一起使用

Popen 是 Python 3 提供的高級(jí)類。 關(guān)于這個(gè)有一個(gè)很好的資源:https : //stackabuse.com/pythons-os-and-subprocess-popen-commands/


查看完整回答
反對(duì) 回復(fù) 2021-06-22
?
DIEA

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超2個(gè)贊

devnull 在 linux 中指向 /dev/null。當(dāng)您寫入 /dev/null 時(shí),它將丟棄收到的所有內(nèi)容。管道有兩端,當(dāng)你寫到一端時(shí),另一端會(huì)收到你寫的消息。


查看完整回答
反對(duì) 回復(fù) 2021-06-22
  • 2 回答
  • 0 關(guān)注
  • 1316 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)