58 lines
2.3 KiB
Python
58 lines
2.3 KiB
Python
import os
|
|
|
|
# O ficheiro Grupo VAG ECU.txt deve estar na mesma pasta que este script.
|
|
DATA_FILE_PATH = os.path.join(os.path.dirname(__file__), 'Grupo VAG ECU.txt')
|
|
|
|
def load_vag_ecu_list():
|
|
"""
|
|
Carrega a lista de famílias de ECU do Grupo VAG a partir do ficheiro Grupo VAG ECU.txt.
|
|
|
|
Retorna:
|
|
set: Um conjunto de strings, onde cada string é uma família de ECU do Grupo VAG.
|
|
Retorna um conjunto vazio se o ficheiro não for encontrado ou ocorrer um erro.
|
|
"""
|
|
vag_ecus = set()
|
|
if not os.path.exists(DATA_FILE_PATH):
|
|
print(f"Erro: Ficheiro de dados não encontrado em {DATA_FILE_PATH}")
|
|
return vag_ecus
|
|
|
|
try:
|
|
# Tentar ler com utf-8 primeiro, que é mais universal
|
|
with open(DATA_FILE_PATH, mode='r', encoding='utf-8') as file:
|
|
for line in file:
|
|
stripped_line = line.strip()
|
|
if stripped_line: # Adicionar apenas se a linha não estiver vazia após remover espaços
|
|
vag_ecus.add(stripped_line)
|
|
except UnicodeDecodeError:
|
|
# Se utf-8 falhar, tentar com 'latin-1' como fallback
|
|
try:
|
|
vag_ecus.clear() # Limpar o conjunto antes de tentar novamente
|
|
with open(DATA_FILE_PATH, mode='r', encoding='latin-1') as file:
|
|
for line in file:
|
|
stripped_line = line.strip()
|
|
if stripped_line:
|
|
vag_ecus.add(stripped_line)
|
|
except Exception as e_latin1:
|
|
print(f"Erro ao ler o ficheiro {DATA_FILE_PATH} com latin-1: {e_latin1}")
|
|
return set() # Retornar conjunto vazio em caso de erro
|
|
except Exception as e_utf8:
|
|
print(f"Erro ao ler o ficheiro {DATA_FILE_PATH} com utf-8: {e_utf8}")
|
|
return set() # Retornar conjunto vazio em caso de erro
|
|
|
|
return vag_ecus
|
|
|
|
if __name__ == '__main__':
|
|
# Exemplo de utilização:
|
|
vag_ecu_families = load_vag_ecu_list()
|
|
if vag_ecu_families:
|
|
print(f"Carregadas {len(vag_ecu_families)} famílias de ECU do Grupo VAG.")
|
|
# Imprimir algumas para exemplo (se houver)
|
|
count = 0
|
|
for ecu in vag_ecu_families:
|
|
print(ecu)
|
|
count += 1
|
|
if count >= 5:
|
|
break
|
|
else:
|
|
print("Nenhuma família de ECU do Grupo VAG carregada.")
|