Carregar ficheiros para "Data"
This commit is contained in:
57
Data/vag_ecu_group_handler.py
Normal file
57
Data/vag_ecu_group_handler.py
Normal file
@ -0,0 +1,57 @@
|
||||
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.")
|
||||
Reference in New Issue
Block a user