目前搜了各種辦法,只能等執行完后一次獲取輸出結果,有沒有好的辦法呢?
沒有回傳值:
os.system('ping www.baidu.com') 有回傳值但是是執行完后一次獲取,不能實時屏顯:
p = subprocess.Popen('ping www.baidu.com',shell=True,stdout=subprocess.PIPE)
out,err = p.communicate()
for line in out.splitlines():
print(line)
uj5u.com熱心網友回復:
兩種方法各執行一次uj5u.com熱心網友回復:
您好逗
uj5u.com熱心網友回復:
用logging庫 可以列印debug不知道能不能滿足你的需求, 反正logging是列印資訊 必用良品!uj5u.com熱心網友回復:
除非命令是逐步回傳結果。不讓就只能顯示命令回傳的結果了uj5u.com熱心網友回復:
是逐行的,比如ping
uj5u.com熱心網友回復:
想顯示打開網頁的同時,還能獲取HTML原始碼?如果是這樣,用 selenium 的 webdriver 即可。
uj5u.com熱心網友回復:
不是的,就是命令列 例如"ping www.baidu.com"
實時屏顯輸出結果,然后保存。
uj5u.com熱心網友回復:
ping -c -1 www.baidu.comuj5u.com熱心網友回復:
Linux 系統下用 tee 命令請看圖片
uj5u.com熱心網友回復:
你是要爬蟲www.baidu.com?那你就
import requests
def test () :
a = requests.get(http://www.baidu.com)
print ("顯示:"a)
uj5u.com熱心網友回復:
在別的博客看到的方法,我用的 python3
import subprocess
p = subprocess.Popen('ping www.baidu.com',shell=True,stdout=subprocess.PIPE)
for i in iter(p.stdout.readline,'b'):
if not i:
break
print(i.decode('gbk'), end='')
uj5u.com熱心網友回復:
原博 : https://blog.csdn.net/xiaoxianerqq/article/details/78844077uj5u.com熱心網友回復:
我剛剛試了一下,可以這樣,需要輸出的程式開一個執行緒運行同時將命令列結果保存到日志檔案,然后在主行程中使用open和read函式打開日志檔案就可以實時的讀取結果。因為通過>>這種方式將命令列寫入檔案是實時的寫入所以可以實時讀取并且能夠成功。試了很多方法就這個稍微看起來可行一點了。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/116587.html
