请根据下面步骤,编写一段可直接在 linux 环境上执行的 python 代码,用于获取环境PV4信息,步骤为:
1) 从linux 上执行命令“ipconfig”,得到字符串变量ipc_cmd_str ;(5分)
2) 使用 python 正则表达式获取字符变量 ipccmd str 中的所有IPV4地址 ;(5分)
3)将所有结果按行写入一个文件 ip list.txt 中
import paramiko import re # 连接linux环境: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('192.168.31.106', port = 22, username = 'root', password = 'sjm199695') # 在环境上执行命令,得到解析的结果: stdin,stdout,stderr = ssh.exec_command('ifconfig') ipc_cmd_str = stdout.read().decode() #正则匹配所有需要的inet Ipv4地址: pattern = r'inet \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}' inet_ipv4_list = re.findall(pattern, ipc_cmd_str) # 获取所有的Ipv4地址: ipv4_list = [] for i in inet_ipv4_list: ipv4_list.append(i[5:]) # 1---写在linux系统文件内 str = """ """ for j in ipv4_list: str = str + j + '\n' command = 'echo ' + "'" + str + "'"+'>> /home/ip_list.txt' ssh.exec_command(command)
# 2---写在window系统文件内: with open(r'S:\ip_list.txt', 'w+', encoding="utf-8") as f: for j in ipv4_list: f.write(j+'\n')