LINUX.ORG.RU

Файл не до конца flush'ится после close и flush

 


1

1

есть скрипт на питоне

парсит реестр запрещенных сайтов и генерирует конфиг (акцесс-лист для циски)


#!/usr/bin/python
import zipfile
from xml.dom.minidom import parseString
import os

regzip = zipfile.ZipFile('register.zip', 'r')
regxmlfile = regzip.open('dump.xml', 'r')
dom = parseString(regxmlfile.read())
contents = dom.getElementsByTagName('content')
facl = open("acls.txt", "w")
facl.write("configure terminal\n")
facl.write("interface GigabitEthernet0/0.XXX\n")
facl.write("no ip access-group 2023 out\n")
facl.write("exit\n")
facl.write("no access-list 2023\n\n\n")

for content in contents:
    ip = content.getElementsByTagName('ip')
    facl.write("access-list 2023 deny   ip any host %s log\n"%ip[0].childNodes[0].nodeValue)

facl.write("access-list 2023 permit ip any any\n\n\n")

facl.write("interface GigabitEthernet0/0.XXX\n")
facl.write("ip access-group 2023 out\n")
facl.write("exit\nexit\nexit\n")
facl.close

os.system("cat acls.txt | less")
#os.system("clogin -x acls.txt gw")
#os.system("cat acls.txt")

сейчас он этот конфиг выводит на экран в less

несмотря на то, что в конце работы с файлом он закрывается, выводится не весь файл (последних строк нет)

сейчас я решил проблему указанием параметра buffering равным 0.

Но причины такого поведения неясны. Кто может прояснить?

Не вижу flush. Вставляй flush перед close.

XoFfiCEr ★★★★ ()

os.system(«cat acls.txt | less»)

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.