FATAL CiscoConfParse не удалось открыть файл xxx.xxx.xxx.xxx.txtPython

Программы на Python
Ответить
Anonymous
 FATAL CiscoConfParse не удалось открыть файл xxx.xxx.xxx.xxx.txt

Сообщение Anonymous »

У меня в папке есть несколько файлов конфигурации Cisco. Я написал цикл for для перебора каждого файла конфигурации и поиска портов vlan1 следующим образом. Я проверяю разрешения и безопасность для папки, файлы для всех файлов конфигурации, и они одинаковы. По иронии судьбы, CiscoConfParse может открывать, читать и выдавать результаты для некоторых файлов конфигурации, но не для других. если я удалил файл конфигурации, который он не может открыть, результат был ожидаемым. Когда я поместил этот файл конфигурации обратно в ту же папку, он не смог открыться и выдал ошибку [FATAL] filenotfound. Я исследовал Интернет и нашел несколько предлагаемых решений, таких как выполнение chkdsk /f /r, а затем sfc /scannow для сканирования и восстановления поврежденных файлов. Я все это сделал, но проблема все еще остается. Я надеюсь, что кто-то уже решил эту проблему раньше и помог. Спасибо
import os
import re
import csv
from ciscoconfparse import CiscoConfParse
def check_vlan1_ports():
configs = (r'C:\Documents\Tutorials\Python\Scripts\NetworkAudit\Data')
with open (r'c:\documents\result.csv', 'a', newline='') as csv_file:
Header = ['Device', 'Rule', 'Exception', 'Status', 'Code', 'Severity', 'Reason']
writer = csv.DictWriter(csv_file, fieldnames=Header)
writer.writeheader()
for config in os.listdir(configs):
if config.endswith(".txt"):
filename = os.path.split(config)

#print(filename[1])
parse = CiscoConfParse(config)
vlan1 = parse.find_objects(r"^1\s+default.*")
str_vlan1 = str(vlan1)
#print(filename, vlan1)
vlan1_ports = re.findall(r'(Gi\d{1,3}\/\d{1,3})|(Fa\d{1,3}\/\d{1,3})', str_vlan1)
if (vlan1_ports):
with open (r'c:\documents\result.csv', 'a', newline='') as \
csv_file:
writer = csv.DictWriter(csv_file, fieldnames=Header)
writer.writerow({'Device':filename[1], 'Rule': 1, 'Exception': \
'Check Vlan1 ports', \
'Status': 'Failed', 'Code': '1', 'Severity': 'High', \
'Reason': vlan1_ports})
else:
with open (r'c:\documents\result.csv', 'a', newline='') as csv_file:
writer = csv.DictWriter(csv_file, fieldnames=Header)
writer.writerow({'Device':filename[1], 'Rule': 1, 'Exception': \
Check Vlan1 ports', \
'Status': 'Pass', 'Code': '1', 'Severity': 'High', \
'Reason': 'No ports in vlan1'})
check_vlan1_ports()


Подробнее здесь: https://stackoverflow.com/questions/693 ... x-txt-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»