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

Python執(zhí)行ping操作的簡單方法

 更新時間:2023年02月14日 09:17:38   作者:田辛?|?田豆芽  
本文主要介紹了Python執(zhí)行ping操作的簡單方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1 基本信息

- 模塊主頁:[github]
- 類型:#第三方庫

2 安裝方法

pip install pythonping

3 一般使用

from pythonping import ping

@timer ?
def case1(): ?
? ? return (ping('www.baidu.com', verbose=True)) ?
@timer ?
def case2(): ?
? ? return ping('www.baidu.com', verbose=False)

verbose=True:意味著輸出平的執(zhí)行過程,測試Case1:

--------------------------------------------------------------------------------
[case1] start at 2023-02-12 07:45:48.366523
Reply from 110.242.68.4, 29 bytes in 11.75ms
Reply from 110.242.68.4, 29 bytes in 11.33ms
Reply from 110.242.68.4, 29 bytes in 11.32ms
Reply from 110.242.68.4, 29 bytes in 11.33ms
函數[case1]執(zhí)行時間為:0.05608487129211426
函數[case1]執(zhí)行結果為:
Reply from 110.242.68.4, 29 bytes in 11.75ms
Reply from 110.242.68.4, 29 bytes in 11.33ms
Reply from 110.242.68.4, 29 bytes in 11.32ms
Reply from 110.242.68.4, 29 bytes in 11.33ms

Round Trip Times min/avg/max is 11.32/11.43/11.75 ms
[case1] end at 2023-02-12 07:45:48.422608
--------------------------------------------------------------------------------

 verbose=False:意味著不輸出執(zhí)行過程,測試Case2:

--------------------------------------------------------------------------------
[case2] start at 2023-02-12 07:45:48.422608
函數[case2]執(zhí)行時間為:0.04709315299987793
函數[case2]執(zhí)行結果為:
Reply from 110.242.68.4, 29 bytes in 11.41ms
Reply from 110.242.68.4, 29 bytes in 11.56ms
Reply from 110.242.68.4, 29 bytes in 12.15ms
Reply from 110.242.68.4, 29 bytes in 11.75ms

Round Trip Times min/avg/max is 11.41/11.72/12.15 ms
[case2] end at 2023-02-12 07:45:48.470690
--------------------------------------------------------------------------------

可以看出,case1有執(zhí)行過程,但是case2沒有。

4 ping的返回值

ping的返回值是一個ResponseList對象,既然叫做List那么肯定是可以枚舉的。 我們來測試一下:

@timer  
def case3():  
    print("STEP 1: ping www.baidu.com")  
    ping_rst = ping('www.baidu.com', verbose=False)  
  
    print("ping返回值的數據類型是:%s" % type(ping_rst))  
  
    print("STEP 2: 遍歷ResponseList對象的所有屬性")  
    for ping_item in ping_rst.__dict__:  
        print("[%s]:%s" % (ping_item, ping_rst.__dict__[ping_item]))  
  
    print("STEP 3: 遍歷Response對象的所有屬性")  
    cnt = 1  
    for response_item in ping_rst:  
        print("STEP 3-%s. Resoonse對象" % cnt)  
        cnt += 1  
        for item in response_item.__dict__:  
            print("[%s]:%s" % (item, response_item.__dict__[item]))

4.1 返回值類型以及常用屬性

在例程3中, 第一步是執(zhí)行ping函數,并且取得他的返回值。

第一步的返回結果是:

STEP 1: ping www.baidu.com
ping返回值的數據類型是:<class 'pythonping.executor.ResponseList'>

以上表明, 返回的是pythonping內部定義的一個對象。 既然如此,我們接下來看看一下這個對象的屬性,執(zhí)行結果如下:

STEP 2: 遍歷ResponseList對象的所有屬性
[_responses]:[Reply from 110.242.68.4, 29 bytes in 11.68ms, Reply from 110.242.68.4, 29 bytes in 11.39ms, Reply from 110.242.68.4, 29 bytes in 11.51ms, Reply from 110.242.68.4, 29 bytes in 11.82ms]
[stats_packets_sent]:4
[stats_packets_returned]:4
[verbose]:False
[output]:<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>
[rtt_avg]:0.01159732499945676
[rtt_min]:0.011385000019799918
[rtt_max]:0.011815299978479743

在這次遍歷中,有一個內部屬性_responses實際上就是4此ping請求的信息。 這里我們日常使用比較多的。就是三個rtt開頭的值,只是用方法直接作為屬性讀取即可。
關于RTT這個縮寫,我讀了pythonping的源碼,并滅有給出詳細的解釋。 于是我請教了ChatGPT,它的回答是:

RTT代表往返時間(Round Trip Time),即數據包從源傳輸到目的地再返回所需的時間。RTT通常用于測量網絡延遲和網絡連接質量。在網絡通信的上下文中,RTT是指從發(fā)送請求到接收相應響應之間經過的時間。

4.2 ResponseList中的每個Response對象的屬性

這部分內容在STEP 3中, 我遍歷了所有的屬性:

STEP 3-1. Resoonse對象
[message]:45 00 00 1d c1 52 00 00 35 01 1e 03 6e f2 44 04 c0 a8 32 ec 00 00 46 f9 7f 06 01 00 39
[time_elapsed]:0.01167790000909008
[source_request]:08 00 3e f9 7f 06 01 00 39
[repr_format]:legacy
STEP 3-2. Resoonse對象
......

這里面有4個屬性:

  • message: 發(fā)送的內容
  • time_elapsed: 時間
  • source_request:接收的信息
  • repr_format: 如何將返回值變?yōu)槲淖至小?有兩個可能的屬性legacy以及None

4.3 pythonping.ping() 方法的常用形參包括:

  • hostname: 目標主機的域名或 IP 地址
  • size: 發(fā)送的數據的大小,以字節(jié)為單位。默認為 56 字節(jié)
  • count: 要發(fā)送的請求的數量。默認為 4 次
  • timeout: 超時時間,以秒為單位。默認為 1s
  • verbose: 布爾值,用于指示是否顯示詳細的輸出。默認為 False

到此這篇關于Python執(zhí)行ping操作的簡單方法的文章就介紹到這了,更多相關Python執(zhí)行ping操作內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python中可以發(fā)生異常自動重試庫retrying

    python中可以發(fā)生異常自動重試庫retrying

    這篇文章主要介紹了python中可以發(fā)生異常自動重試庫retrying,retrying是一個極簡的使用Python編寫的庫,主題更多相關內容需要的朋友可以參考一下
    2022-06-06
  • 使用pycharm進行繪圖,圖片無法顯示的解決

    使用pycharm進行繪圖,圖片無法顯示的解決

    這篇文章主要介紹了使用pycharm進行繪圖,圖片無法顯示的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 使用Python來開發(fā)微信功能

    使用Python來開發(fā)微信功能

    這篇文章主要介紹了使用Python來開發(fā)微信功能,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • 什么是python的列表推導式

    什么是python的列表推導式

    在本篇文章里小編給大家分享了關于python列表推導式的含義及用法,需要的朋友們可以參考下。
    2020-05-05
  • python嵌套字典比較值與取值的實現示例

    python嵌套字典比較值與取值的實現示例

    這篇文章主要給大家介紹了關于python嵌套字典比較值與取值的實現方法,詳細介紹了python字典嵌套字典的情況下獲取某個key的value的相關內容,分享出來供大家參考學習,需要的朋友們下面來一起看看吧。
    2017-11-11
  • 關于opencv讀取和寫入路徑有漢字的處理方式

    關于opencv讀取和寫入路徑有漢字的處理方式

    這篇文章主要介紹了關于opencv讀取和寫入路徑有漢字的處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python yield 的使用淺析

    Python yield 的使用淺析

    這篇文章主要為大家詳細介紹了Python yield的使用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Python使用numpy模塊創(chuàng)建數組操作示例

    Python使用numpy模塊創(chuàng)建數組操作示例

    這篇文章主要介紹了Python使用numpy模塊創(chuàng)建數組操作,結合實例形式分析了Python使用numpy模塊實現數組的創(chuàng)建、賦值、修改、打印等相關操作技巧與注意事項,需要的朋友可以參考下
    2018-06-06
  • Python實現圖像添加水印的方法

    Python實現圖像添加水印的方法

    在日常圖像處理中,為圖片添加水印是一項常見任務,本文主要介紹了Python實現圖像添加水印的方法,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • Python的閉包和裝飾器你真的了解嗎

    Python的閉包和裝飾器你真的了解嗎

    這篇文章主要為大家詳細介紹了Python的閉包和裝飾器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02

最新評論