python之ping命令學習,不出現cmd視窗

2021-09-27 04:20:12 字數 988 閱讀 7548

使用者輸入乙個此類位址,將通的ip位址輸出到文件中

遇到的知識盲點:

1、文件的輸入輸出

addr代表文件的絕對位址(含名稱,例如c:\1.txt),'w' 代表新的內容覆蓋原文件內容,此處引數可替換為『a』,代表追加模式

data = open(addr,'w',encoding='utf-8')
2、使用os.system()時總出現cmd視窗替換方法:

①使用os.popen

os.popen輸出的內容為乙個文件,裡面記錄了在cmd視窗執行時顯示的內容,不反回狀態碼,此時要判斷是否ping通,需要使用read()方法讀取文件內容

result=os.popen('ping -n 1 '+ip1,'r')

shuchu=result.read()

result.close

#print(shuchu)

if not shuchu.count('請求超時'):

data = open(addr,'a',encoding='utf-8')

print(ip1,file=data)

data.close()

②使用subprocess模組

subprocess模組是在python3.5之後的新函式,用來替換os,command(只有linux上能使用)模組的部分功能。

subprocess.call()返回狀態碼。ping命令是,通的情況下返回int(0),否則返回int(1).

具體參考:

result=subprocess.call('ping -n 1 '+ip1,shell=true)

#print(type(result))

if result==0:

data = open(addr,'a',encoding='utf-8')

print(ip1,file=data)

data.close()

ping 命令 Ping命令

簡單介紹使用ping命令檢查網路連線是否可達以及分析網路發生故障的位置。其中,ping用於檢查網路連線及主機是否可達 ping命令主要用於檢查網路連線及主機是否可達。ping功能是基於icmp協議來實現的 源端向目的端傳送icmp請求 echo request 報文後,根據是否收到目的端的icmp應...

網路學習之ping指令

和同學聊天的時候被問到這樣乙個問題 在虛擬環境路由中主機a ping主機b的時間 加上主機b ping主機c的時間 為什麼比主機a ping主機c的時間長?我們經常使用ping指令探測主機間是否通訊,然而細究起來還是一知半解,所以這個問題也引起了我的興趣。windows系統下開啟cmd命令列工具就可...

ping 命令 常用網路命令 ping命令詳解

ping命令 ping是個使用頻率極高的實用程式,主要用於確定網路的連通性。這對確定網路是否正確連線,以及網路連線的狀況十分有用。簡單的說,ping就是乙個測試程式,如果ping執行正確,大體上就可以排除網路訪問層 網絡卡 modem的輸入輸出線路 電纜和路由器等存在的故障,從而縮小問題的範圍。pi...