Eduardo, below an example of how the function for reading the TXT could be implemented (leTxt), I tried to maintain the same pattern of the function that you put as an example for writing data to txt.
Your code is with many lists, maybe create a class Shoe leave things more organized.
import os
def guardaTxt(lstModelo, lstCor, lstNumeracao, lstQtd, lstValorUnit):
file1 = open("sapataria_dados.txt","w")
for x in range(len(lstModelo)):
file1.write(str(lstModelo[x]) + ' ' + str(lstNumeracao[x]) + ' ' + str(lstQtd[x]) + ' ' + str(lstValorUnit[x]) + ' ' + str(lstCor[x])+'\n')
file1.close()
#Função responsável pela leitura dos dados de sapato no arquivo txt, mantendo o mesmo formato da função guardaTxt
def leTxt(lstModelo, lstCor, lstNumeracao, lstQtd, lstValorUnit):
#Verifica a existência do arquivo antes de abrir
if os.path.isfile("sapataria_dados.txt"):
file1 = open("sapataria_dados.txt", "r")
#Efetua a leitura das linhas do arquivo
for line in file1.readlines():
#Quebra a linha lida em uma lista, a cada espaço encontrado é gerado um item na lista
sapato = line.strip().split(' ')
lstModelo.append(sapato[0])
lstNumeracao.append(int(sapato[1]))
lstQtd.append(int(sapato[2]))
lstValorUnit.append(float(sapato[3]))
lstCor.append(sapato[4])
file1.close()
#Valores que serão gravados no txt
modelos = ["Tradicional", "Esportivo", "Caminhada", "Corrida"]
cores = ["Branco", "Azul", "Amarelo", "Vermelho"]
numeracoes = [42, 40, 45, 39]
quantidades = [20, 10, 25, 15]
valores = [500, 200, 600, 400]
#Chamada da função que grava os valores no txt
guardaTxt(modelos, cores, numeracoes, quantidades, valores)
txtModelos = []
txtCores = []
txtNumeracoes = []
txtValores = []
txtQuantidades = []
#Efetua a leitura do txt no mesmo formato que é feita a gravação
leTxt(txtModelos, txtCores, txtNumeracoes, txtQuantidades, txtValores )
#Exibe os valores que foram lidos do txt
print(txtModelos, txtCores, txtNumeracoes, txtValores, txtQuantidades)
Thank you friend, my code is without classes because this code is for the initial lessons of Python.
– Eduardo Caetano Corrêa