'Python使用socket獲取網絡地址'
"
""
獲取本機HOST name和局域網IP
import socket
def print_machine_info():
host_name = socket.gethostname()
ip_address = socket.gethostbyname(host_name)
print("Host name is:%s" % host_name)
print("IP address is:%s" % ip_address)
if __name__ == '__main__':
print_machine_info()
輸出
Host name is:jomax-mbp.lan
IP address is:192.168.1.15
獲取遠程設備的IP地址
# -*- coding: UTF-8 -*-
import socket
def get_remote_machine_info(err_msg=None):
remote_host = 'www.baidu.com'
try:
print("主機的IP地址是:%s" % socket.gethostbyname(remote_host))
except (socket.error, err_msg):
print("%s: %s" % (remote_host, err_msg))
if __name__ == '__main__':
get_remote_machine_info()
將IPv4地址轉換為不同的格式
def convert_ipv4_address():
for ip_addr in ['127.0.0.1', '192.168.1.1']:
packed_ip_addr = socket.inet_aton(ip_addr)
unpacked_ip_addr = socket.inet_ntoa(packed_ip_addr)
print("IP 地址: %s => 打包後:%s ,沒有打包前:%s"
% (ip_addr, hexlify(packed_ip_addr), unpacked_ip_addr))
輸出
IP 地址: 127.0.0.1 => 打包後:b'7f000001' ,沒有打包前:127.0.0.1
IP 地址: 192.168.1.1 => 打包後:b'c0a80101' ,沒有打包前:192.168.1.1
通過指定的端口和協議找到服務名:
def find_service_name():
protocolname = 'tcp'
for port in [80, 25]:
print("端口:%s => 服務名稱是:%s " % (port, socket.getservbyport(port, protocolname)))
print("端口:%s => 服務名稱是:%s" % (53, socket.getservbyport(53, 'udp')))
輸出
端口:80 => 服務名稱是:http
端口:25 => 服務名稱是:smtp
端口:53 => 服務名稱是:domain
主機字節序和網絡字節之間相互轉換
def convert_integer():
data = 1234
print("源字節:%s => Long host byte order:%s,Network byte order:%s"
% (data, socket.ntohl(data), socket.htonl(data)))
print("源字節: %s => Short host byte order:%s,Network byte order:%s"
% (data, socket.ntohs(data), socket.htons(data)))
輸出
源字節:1234 => Long host byte order:3523477504,Network byte order:3523477504
源字節: 1234 => Short host byte order:53764,Network byte order:53764
相關推薦
'Python什麼情況下會生成 pyc文件?通過pyc文件瞭解Python運行原理'
"由於最近一位同學在做分佈式計算時,部分模塊只把 pyc文件拷貝部署至遠程計算節點,導致主節點程序更新後,計算節點拋出了錯誤異常,於是有了這篇文章...示例如下,有兩個py模塊,testops.py 與 testops_imported.py模塊。我們先來看 testops...
'Python中的Lambda,Map和Filter'
"今天的部分介紹了在Python中使用lambda,map和filter函數。我們將介紹每個的基本語法,並通過一些示例來熟悉使用它們。讓我們開始吧!*** Lambda***lambda運算符或lambda函數用於在Python中創建小型的、一次性的匿名函數對象基本語法la...
'《What the f*ck Python!》那難以理解和反人類直覺的例子及原理'
"歡迎各位小哥哥小姐姐閱讀本<小生>的文章,對大家學習有幫助,請點贊加關注哦!!!!!!!!!!您的點贊和關注將是我持續更新的動力呢.^v^有不懂的問題可以私聊我哦!前言最近,發現了一個在GitHub關於Python的一個非常有趣的項目。這個項目叫《What t...
'Python Requests作者另一神作,Records通用而優雅的數據庫訪問庫'
"我們在開發過程中經常涉及與數據庫進行交互,比如MySQL、Oracle、PostgreSQL、Sqlite,一般,我們使用其對應的Python 第三方模塊,實現相關數據庫操作,如下MySQL數據庫:mysql-connector,pymysql PostgreSQL數據庫...
'python爬蟲模擬微博登錄'
"微博模擬登錄這是本次爬取的網址:https://weibo.com/一、請求分析找到登錄的位置,填寫用戶名密碼進行登錄操作看看這次請求響應的數據是什麼這是響應得到的數據,保存下來exectime: 8nonce: "HW9VSX"pcid: "gz-4ede4c6269a...
'Python中的Requests模塊,星號和括號'
"requests模塊官方地址:https://github.com/psf/requests官方文檔 :https://2.python-requests.org/en/master/用於http請求的模塊 ,用於網頁數據抓取七個主要方法Python資源共享群:62601...
'Python基礎學習教程系列講解——try_except異常處理機制'
"在Python編程中不可避免的會出現錯誤,在調試階段出現語法之類的錯誤時,Pycharm會在Debug窗口提示錯誤,但是程序在運行時由於內部隱含的問題而引起錯誤,會導致程序終止執行。比如以下例程中,使用urllib庫打開URL時由於網絡問題而發生了錯誤:import ur...
'用Python控制Excel實現自動化辦公!附全套學習教程'
"1.安裝2.操作一個簡單的Excel文檔操作註釋及代碼:操作完成後,數據存儲結果如下:3. 操作簡單Excel文檔並添加數據格式操作代碼如下:附帶數據格式的定義操作效果如圖所示:4.Excel中添加不同類型的數據操作代碼如下:將不同的數據按照指定的格式添加到文件中代碼執行...
推薦中...