001_-_Exerci_cio_de_fixac_a_o_Manipulando_Arquivos.pdf
Escreva um script python para ler uma sequencia de linhas de um arquivo e criar dois outros arquivos separando os número pares e números impares.
with open('arquivo_de_entrada.txt', 'r') as arquivo_entrada:
numeros_pares = []
numeros_impares = []
for linha in arquivo_entrada:
numeros = linha.strip().split()
for numero in numeros:
if int(numero) % 2 == 0:
numeros_pares.append(numero)
else:
numeros_impares.append(numero)
with open('numeros_pares.txt', 'w') as arquivo_pares, open('numeros_impares.txt', 'w') as arquivo_impares:
for numero in numeros_pares:
arquivo_pares.write(numero + '\\n')
for numero in numeros_impares:
arquivo_impares.write(numero + '\\n')
Escreva um script python para ler todas as linhas de um arquivo, ordena-las e salvar novamente no arquivo.
with open('arquivo.txt', 'r') as arquivo:
linhas = arquivo.readlines()
linhas_ordenadas = sorted(linhas)
with open('arquivo.txt', 'w') as arquivo:
for linha in linhas_ordenadas:
arquivo.write(linha)
Escreva um script python que receba do usuário os seguintes dados de aluno: matrícula, nome, ano de ingresso, escore atual e grave as informações em um arquivo texto com os valores de cada aluno em linhas distintas separados por “;”.
with open("alunos.txt", "w") as arquivo:
while True:
matricula = input("Digite a matrícula do aluno (ou pressione ENTER para sair): ")
if not matricula:
break
nome = input("Digite o nome do aluno: ")
ano_ingresso = input("Digite o ano de ingresso do aluno: ")
escore_atual = input("Digite o escore atual do aluno: ")
aluno = f"{matricula};{nome};{ano_ingresso};{escore_atual}\\n"
arquivo.write(aluno)
print("Informações de alunos gravadas com sucesso!")
Escreva um script que LEIA os dados do arquivo texto gerado na questão anterior e exiba no console apenas os nomes dos alunos concatenado com a frase a seguir, baseado em sua regra:
with open("alunos.txt", "r") as arquivo:
linhas = arquivo.readlines()
for linha in linhas:
# separa os valores da linha
valores = linha.strip().split(";")
matricula, nome, ano_ingresso, escore_atual = valores
if float(escore_atual) < 6.0:
frase = "em fase de adaptação"
elif 6.0 <= float(escore_atual) <= 7.0:
frase = "familiarizado com o curso"
elif 7.0 < float(escore_atual) < 8.5:
frase = "em excelência no curso"
else:
frase = "Nasceu para o curso"
print(f"{nome} está {frase}.")
Faça um programa que leia um número N e gere um arquivo com N nomes e idades aleatórios. Faça uso de duas listas criadas na mão: uma que contenha 20 nomes e outra que contenha 20 sobrenomes. Cada linha do arquivo resultante deve conter um nome completo e a sua idade.
import random
nomes = ["Alice", "Beatriz", "Caio", "Daniel", "Eduardo", "Felipe", "Gabriela", "Heloísa", "Isabela", "João",
"Karine", "Larissa", "Marcelo", "Nathália", "Olívia", "Pedro", "Quintino", "Rafael", "Samantha", "Thiago"]
sobrenomes = ["Silva", "Santos", "Pereira", "Oliveira", "Rodrigues", "Ferreira", "Costa", "Alves", "Nascimento",
"Lima", "Azevedo", "Mendes", "Souza", "Carvalho", "Barbosa", "Gomes", "Ribeiro", "Martins", "Moura", "Rocha"]
n = int(input("Digite o número de nomes a serem gerados: "))
with open("nomes.txt", "w") as arquivo:
for i in range(n):
nome = random.choice(nomes)
sobrenome = random.choice(sobrenomes)
idade = random.randint(18, 60)
arquivo.write(f"{nome} {sobrenome};{idade}\\n")
print(f"Arquivo com {n} nomes e idades gerado com sucesso!")
Escreva uma função que recebe dois nomes de arquivos e copia o conteúdo do primeiro arquivo para o segundo arquivo. Considere que o conteúdo do arquivo de origem é um texto. Sua função não deve copiar linhas comentadas (que começam com //)
def copiar_arquivo(origem, destino):
with open(origem, 'r') as arquivo_origem:
with open(destino, 'w') as arquivo_destino:
for linha in arquivo_origem:
if not linha.startswith('//'):
arquivo_destino.write(linha)
print(f'Arquivo {origem} copiado com sucesso para {destino}.')