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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將子流程調(diào)用傳遞到文本文件?

如何將子流程調(diào)用傳遞到文本文件?

月關(guān)寶盒 2019-11-28 13:01:32
subprocess.call(["/home/myuser/run.sh", "/tmp/ad_xml",  "/tmp/video_xml"])現(xiàn)在,我有了運行的腳本。當我運行它并到達此行時,它開始打印內(nèi)容,因為run.sh中有打印內(nèi)容。如何將其也管道傳輸?shù)轿谋疚募浚ㄈ绻赡?,還可以打印)
查看完整描述

2 回答

?
白豬掌柜的

TA貢獻1893條經(jīng)驗 獲得超10個贊

如果要將輸出寫入文件,可以使用stdout -argument of subprocess.call。


它需要None,subprocess.PIPE個文件對象或一個文件描述符。第一個是默認值,stdout是從父級(您的腳本)繼承的。第二個允許您從一個命令/進程到另一個命令/進程。第三和第四項是您想要的,將輸出寫入文件。


您需要使用類似的文件打開文件,open然后將對象或文件描述符整數(shù)傳遞給call:


f = open("blah.txt", "w")

subprocess.call(["/home/myuser/run.sh", "/tmp/ad_xml",  "/tmp/video_xml"], stdout=f)

我猜測任何有效的類似文件的對象都可以工作,例如套接字(gasp :)),但我從未嘗試過。


正如marcog在評論中提到的那樣,您可能還希望重定向stderr,您可以使用將其重定向到與stdout相同的位置stderr=subprocess.STDOUT。上述任何一個值也可以使用,您可以重定向到其他位置。


查看完整回答
反對 回復 2019-11-28
  • 2 回答
  • 0 關(guān)注
  • 568 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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