0
A
回答
2
圍棋與Maciej Gol's answer,但這裏的另一種方式:
ip = '192.168.1.1'
ip_as_bytes = bytes(map(int, ip.split('.')))
編輯:哎呀,這是唯一的Python 3.X。對於Python 2.X
ip = '192.168.1.1'
ip_as_bytes = ''.join(map(chr,map(int,ip.split('.'))))
,你已經開使用socket module,但是,考慮到其效率更好:
>>> timeit.timeit("socket.inet_aton('164.107.113.18')",setup='import socket')
0.22455310821533203
>>> timeit.timeit("''.join(map(chr,map(int,'164.107.113.18'.split('.'))))")
3.8679449558258057
5
>>> import socket
>>> socket.inet_aton('164.107.113.18')
'\xa4kq\x12'
>>> socket.inet_aton('127.0.0.1')
'\x7f\x00\x00\x01'
這將返回一個字節的字符串(或Python 3.x都有bytes
對象),您可以從中獲取字節。另外,您也可以使用struct
獲得每個字節的整數值:
>>> import socket
>>> import struct
>>> struct.unpack('BBBB', socket.inet_aton('164.107.113.18'))
(164, 107, 113, 18)
+0
那麼socket.inet_aton(addr)返回一個4個字符的字符串? – user3261349
+0
對於Python 2.x,「str」對象只是一個字節字符串,因此這4個字符代表4個字節。對於3.x它返回一個字節對象。 –
相關問題
- 1. 如何將IP地址轉換爲MAC地址字節數組?
- 2. 在Python中將IP地址字符串正好轉換爲4個字節
- 3. 字節編碼在Python 3的IP地址,並轉換回字符串
- 4. 將負數轉換爲IP地址python
- 5. 使用Python進行IP地址轉換
- 6. MAC地址到IP轉換
- 7. C++如何將IP地址轉換爲字節?
- 8. 將字節數組轉換爲IP地址
- 9. 轉換IP地址的字節C#數組
- 10. Python - 將IP地址列表轉換爲地址範圍列表
- 11. 將IP地址轉換爲IP範圍
- 12. 轉換IP範圍的IP地址
- 13. Python將Base64編碼的IP地址轉換爲十進制IP地址
- 14. 轉換[NSNetservice地址]到IP地址的字符串
- 15. Python - 將字節地址(從ReadProcessMemory)轉換爲字符串?
- 16. 轉換串MAC地址字節數組
- 17. 將IP或MAC地址從字符串轉換爲字節數組(Arduino或C)
- 18. 變換IP地址,IP地址範圍(起始IP - 結束IP)
- 19. Python的IPv6字節地址
- 20. 替換IP地址?
- 21. 的Python:轉換,在字節
- 22. 轉換IP地址轉換成int(即INET航標在C#)
- 23. 轉換IP地址的整數
- 24. 將IP地址轉換爲主機名
- 25. 如何將IP地址轉換爲DWORD?
- 26. 將int轉換爲IP地址
- 27. 將IP地址char轉換爲long
- 28. 轉換IP地址,以提高:: UINT32
- 29. 將整數值轉換爲IP地址
- 30. 將號碼轉換爲IP地址(v4)
什麼是您預期的結果?你的IP有一段額外的時間。 – Andy
這是我的一個語法錯誤。 – user3261349