python获取window上全部的ipv4信息
时间: 2023-09-16 17:09:02 浏览: 49
要获取Windows上的所有IPv4信息,你可以使用Python中的`socket`模块来实现。下面是一个获取本地IPv4地址的示例代码:
```python
import socket
def get_ipv4_addresses():
# 获取主机名
hostname = socket.gethostname()
# 获取主机的IP地址信息
ip_addresses = socket.getaddrinfo(hostname, None, socket.AF_INET)
# 提取IPv4地址
ipv4_addresses = [ip[4][0] for ip in ip_addresses]
return ipv4_addresses
# 调用函数获取IPv4地址
ipv4_addresses = get_ipv4_addresses()
# 打印结果
for ip in ipv4_addresses:
print(ip)
```
这段代码将会输出本地所有的IPv4地址。请注意,这里获取到的是本地主机的IPv4地址,而不是网络中其他设备的地址。
相关问题
python获取window上全部的ipv4信息和对应的submask,其中的255.255.255.0转成24,最后输出成xxx.xxx.xxx.0/24
要获取Windows上的所有IPv4信息以及对应的子网掩码,并将子网掩码转换为CIDR表示法(例如将255.255.255.0转换为24),最后输出为xxx.xxx.xxx.0/24的格式,你可以使用Python中的`psutil`库来实现。下面是一个示例代码:
```python
import psutil
import socket
import struct
def get_ipv4_networks():
networks = []
# 获取网络接口信息
if_addrs = psutil.net_if_addrs()
for interface, addresses in if_addrs.items():
for addr in addresses:
if addr.family == socket.AF_INET:
ip = addr.address
netmask = addr.netmask
# 将子网掩码转换为CIDR表示法
cidr_netmask = sum([bin(int(x)).count('1') for x in netmask.split('.')])
# 将IP地址和子网掩码组合成xxx.xxx.xxx.0/24的格式
network = f"{ip}/{cidr_netmask}"
networks.append(network)
return networks
# 调用函数获取IPv4网络信息
ipv4_networks = get_ipv4_networks()
# 打印结果
for network in ipv4_networks:
print(network)
```
这段代码会输出Windows系统上所有的IPv4地址以及对应的子网掩码,格式为xxx.xxx.xxx.0/24。请确保已经安装了`psutil`库,可以使用`pip install psutil`来安装。
python 获取window某个文件大小
你可以使用 Python 的 `os` 模块中的 `stat` 方法来获取文件大小。下面是一个示例代码:
```python
import os
file_path = 'C:/path/to/your/file.txt' # 文件路径
file_size = os.stat(file_path).st_size # 获取文件大小,单位为字节
print(f"文件 '{file_path}' 的大小为 {file_size} 字节")
```
其中,`os.stat(file_path)` 返回一个包含文件信息的对象,使用 `st_size` 属性可以获取文件的大小,单位为字节。你需要将 `file_path` 替换为你需要查询的文件的路径。