[Python] Alguem me pode ajudar com esse erro aí?

8 respostas
Ruben_Ribeiro
Bom tarde a todos, gostaria de saber se alguem sabe como resolver isso ? :/ 
Desde ja obrigado a quem souber.
	Estou tentado fazer com que o programa leia o que tem no bloco de notas, mas quero fazer split.
Código: 

def ler():
print("\n\n--- Ler Ficheiro ---")
nomedoficheiro=str(input("\nNome do ficheiro -> "))
Save=open(nomedoficheiro, "r")
pessoas=[]
for linha in Save.readlines():
	nome, numero = linha.strip().split("#")
	pessoas.append([nome, numero])
Save.close()
menu()

8 Respostas

rodevops

Antes de sair atribuindo variaveis usando split, primeiro veja o comportamento dele…

for linha in Save.readlines():
    print(linha.strip().split("#"))

E ai viu quantas posições ele está trazendo? (é disso que o erro fala ok?)

Vai conseguir preencher as duas variáveis que vc colocou (nome e numero) ou alguma delas vai ficar sem valor?

Se o que vc quer é adicionar na lista, não seria melhor usar split diretamente sem variáveis?

for linha in Save.readlines():
    pessoas.append(linha.strip().split("#"))

Vai testando e preste muita atenção as mensagens de erro, boa sorte!

Ruben_Ribeiro

Elas vão ter valor, e sim quero adiciona-los na lista.

rodevops

A questão não é se vão ter valor, a questão é se o split está trazendo… pegou?

josinon

Tenta ver se isso resolve pra ti

def ler():
	print("\n\n--- Ler Ficheiro ---")
	nomedoficheiro=str(input("\nNome do ficheiro -> "))
	save=open(nomedoficheiro, "r")
	pessoas=[]
	for linha in save.readlines():
		print(linha)
		values = linha.strip().split("#")
		nome = values[0] if len(values) >= 1 else ''
		numero  = values[1] if len(values) >= 2 else ''
		pessoas.append([nome, numero])
	save.close()
Ruben_Ribeiro

tá funcionando, vlw, o problema é que tá mostrando tudo com muitos spaces…

Ruben_Ribeiro

Sabe como resolver? :confused:

josinon

Cara, teria q ver o resto do código pra saber como tá. Só com essa imagem aí fica difícil dizer o problema.

Ruben_Ribeiro

Já consegui arranjar, valeu na mesma! :slight_smile: Obrigado!

Criado 19 de novembro de 2018
Ultima resposta 21 de nov. de 2018
Respostas 8
Participantes 3