File size: 2,005 Bytes
ef6d407
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import re
import sys

def format_paragraph(paragraph):
    """Formata um parágrafo de acordo com as regras ajustadas."""
    paragraph = paragraph.strip()
    if re.match(r'^[a-z]\d{3}\s', paragraph):
        return "Código: " + re.sub(r'^([a-z]\d{3})\s', r'\1: ', paragraph)
    elif re.match(r'^[a-z]\d{4,}\s', paragraph):
        return "Subcódigo: " + re.sub(r'^([a-z]\d{4,})\s', r'\1: ', paragraph)
    elif paragraph.startswith("Inclui: "):
        return paragraph
    elif not re.match(r'^[a-z]\d+', paragraph):
        return "Descrição: " + paragraph
    return paragraph  # Caso padrão (não deve ocorrer com as regras)

def process_file(input_file, output_file):
    """Lê o arquivo de entrada, formata os parágrafos e grava no arquivo de saída."""
    try:
        with open(input_file, 'r', encoding='utf-8') as f:
            content = f.read()
    except FileNotFoundError:
        print(f"Erro: Arquivo '{input_file}' não encontrado.")
        return

    # Divide em parágrafos (considerando linhas em branco como separadores)
    paragraphs = [p for p in content.split('\n\n') if p.strip()]
    formatted_paragraphs = []

    for i, para in enumerate(paragraphs):
        formatted = format_paragraph(para)
        # Adiciona linha em branco antes de "Código: ", exceto no primeiro parágrafo
        if formatted.startswith("Código: ") and i > 0:
            formatted_paragraphs.append("")
        formatted_paragraphs.append(formatted)

    # Junta os parágrafos com uma única quebra de linha
    output_content = '\n'.join(formatted_paragraphs)
    
    with open(output_file, 'w', encoding='utf-8') as f:
        f.write(output_content)
    print(f"Arquivo formatado salvo como '{output_file}'.")

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Uso: python 0PY_format.py b2.txt")
    else:
        input_file = sys.argv[1]
        output_file = input_file.replace('.txt', '_formatado.txt')
        process_file(input_file, output_file)