-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCompacXML.py
More file actions
23 lines (18 loc) · 1012 Bytes
/
CompacXML.py
File metadata and controls
23 lines (18 loc) · 1012 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import os
import zipfile
from glob import glob
def compactar_xml(diretorio_origem, tamanho_grupo, diretorio_destino):
if not os.path.exists(diretorio_destino):
os.makedirs(diretorio_destino)
xml_files = glob(os.path.join(diretorio_origem, '*.xml'))
grupos = [xml_files[i:i + tamanho_grupo] for i in range(0, len(xml_files), tamanho_grupo)]
for i, grupo in enumerate(grupos):
nome_zip = os.path.join(diretorio_destino, f'grupo_{i + 1}.zip')
with zipfile.ZipFile(nome_zip, 'w') as zipf:
for xml_file in grupo:
zipf.write(xml_file, os.path.basename(xml_file))
print(f'Compactação concluída. {len(xml_files)} arquivos XML divididos em {len(grupos)} grupos.')
diretorio_origem = r'C:\Users\tiago.xavier\Desktop\Fiscal\CompacXML\SOLICITACAO_5566\SOLICITACAO_5566'
tamanho_grupo = 4000
diretorio_destino = r'C:\Users\tiago.xavier\Desktop\Fiscal\CompacXML\SOLICITACAO_5566'
compactar_xml(diretorio_origem, tamanho_grupo, diretorio_destino)