簡體   English   中英

我在 output 中遇到問題,調節器表達式結果是('IP-Subnet/mask',)但我想要(IP-Subnet/mask)輸出

[英]I am having Problem in output of reguler expression result is( 'IP-Subnet/mask',) but i want( IP-Subnet/mask) in out put

下面是我的代碼,我正在閱讀.txt 文件,然后制作一個列表,然后將其保存到 excel 但在 excel 中我得到('ip 子網/掩碼',)但我只想要(ip 子網/掩碼)輸出下面是我的代碼塊 1.我從 Txt 文件中讀取路由表 output 並創建一個列表 2.然后從 10.0.0.0/8 地址空間我刪除路由表 sybnets 3.我將可用的 IP 保存到 Available.txt 文件 4.創建來自 Available.txt 文件的列表 5. 然后我創建 excel 文件,然后將列表保存到 excel 在特定的 10.xxx/16 表中

import os
    import re
    import xlsxwriter
    from netaddr import *
    from openpyxl import load_workbook
    
    
    def ip_adresses():
        lst = []
        for line in fstring:
            for word in line.split():
                result = pattern.search(word)
                if result:
                    lst.append(word)
        return lst
    
    
    def write_excel(aaa, bbb, num):
        bbb = sorted(bbb)
        work11 = load_workbook(r'C:\Users\irfan\PycharmProjects\pythonProject\irfan4.xlsx')
        sheet11 = work11[aaa]
        count = sheet11.max_row
        max1 = sheet11.max_row
        for row1, entry in enumerate(bbb, start=1):
            sheet11.cell(row=row1 + max1, column=1, value=entry)
    
        work11.save("irfan4.xlsx")
    
    
    os.chdir(r'C:\Users\irfan\PycharmProjects\pythonProject')
    file = open('RR-ROUTING TABLE.txt')
    fstring = file.readlines()
    # declaring the regex pattern for IP addresses
    pattern = re.compile(r'(10\.\d{1,3}\.\d{1,3}\.\d{1,3}[/])')
    # initializing the list object
    
    unique = []
    # extracting the IP addresses
    IPs = ip_adresses()
    unique = list(dict.fromkeys(IPs))
    ipv4_addr_space = IPSet(['10.0.0.0/8'])
    ip_list = IPSet(list(unique))
    print(ip_list)
    
    available = ipv4_addr_space ^ ip_list
    print()
    
    f = open("Available.txt", "a")
    f.write(str(available))
    f.close
    print(available)
    
    workbook = xlsxwriter.Workbook('irfan4.xlsx')
    worksheet = workbook.add_worksheet()
    for row_num, data in enumerate(available):
        worksheet.write(row_num, 0, data)
    num = 0
    while num <= 255:
        worksheet = workbook.add_worksheet("10." + str(num) + ".0.0")
        num += 1
    workbook.close()
    
    # CREATE AUDIT BOOK
    ##################################################
    os.chdir(r'C:\Users\irfan\PycharmProjects\pythonProject')
    file_2 = open('Available.txt')
    fstring_2 = file_2.readlines()
    
    def ip_adresses1():
        lst = []
        for line in fstring_2:
            for word in line.split():
                result = pattern.search(word)
                if result:
                    lst.append(word)
        return lst
    List_A=ip_adresses1()
    
    print(List_A[1])
    get_list = []
    num = 0
    while num <= 255:
        pattern_sheet = re.compile(r'(10\.' + str(num) + '\.\d{1,3}\.\d{1,3}[/])')
        for get_ips in fstring_2:
            result_ip = pattern_sheet.search(get_ips)
            if result_ip:
                get_list.append(get_ips)
        sheet_name = ("10." + str(num) + ".0.0")
        write_excel(sheet_name, get_list, num)
        get_list = []
        num += 1
        enter code here

我使用 re.sub function 從字符串中刪除字符

def ip_adresses1(): lst = [] for line in fstring_2: for word in line.split(): word = re.sub("IPSet", " ", word) word = re.sub(",", " " , word) word = re.sub("'", " ", word) word = re.sub("(", " ", word) word = re.sub(")", " ", word) word = re.sub("]", " ", word) word = re.sub("[", " ", word) result = pattern.search(word) if result: lst.append(word) return lst

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM