2
respostas

Programa para gerar união de dados em arquivos texto.

Dados dois arquivos concebidos sequencialmente, possuindo as informações descritas nas fichas esquematizadas a seguir, desenvolva um programa que realize uma união desses dados. Essa união implica criar um terceiro arquivo no qual constem apenas dados das pessoas que faziam parte de ambos os arquivos sequenciais. Informações que não possuírem correspondência não deverão existir no terceiro arquivo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Alguém poderia ajudar? Estou perdido!

2 respostas

Para você juntar arquivos, basta fazer o seguinte:

with open('arquivo1.txc', 'a') as arq_1: # abre o arquivo 1
       arq2 = open('arquivo2.txt', 'r') #abre o arquivo 2
       arq_1.write(arq2.read()) # escreve o conteudo do 2 dentro do 1 

Enquanto o colega acima está correto, existe uma melhor solução:

with open("arquivo1.txt", "a") as arquivo_1, open("arquivo2.txt", "r") as arquivo_2:
    arquivo_1.write(arquivo_2.read())

Usar o open() sem close() é considerado prática ruim, pois deixa o arquivo aberto para modificações, podendo gerar desde vazamentos de memória até o arquivo ser escrito por terceiros em caso de ataque ao sistema. Usando todos com with garante que os arquivos sejam fechados quando sairem do escopo.