Na criação de um arquivo editável estou tendo alguns problemas.
Código:
arquivo= open("move.txt", "r+")
branco = ''
numero = '1' server = 'z'
cliente = 'z'
zen = 'z'
level = 'z'
gate = 'z'
move = (branco.rjust(4) + numero.ljust(9) + '"{}"'.format(server).ljust(20)
+ '"{}"'.format(cliente).ljust(21) + zen.ljust(10) + level.ljust(9) + gate)
lista = move.split() # Transformei move e lista
lista[2] = 'mapa' # Edito indice 2
print(lista) # Confirmo a saida editada, é alterado perfeitamente.
move.join(lista) # Torno de lista para string novamenteprint(move) # Confirmo a saida, não é aletarado o indice 2 nesta confirmação.arquivo.write('\n' + move) # Na gravação do arquivo não tem efeito minha substituição.arquivo.close()
Saida no pyCharm:
['1', '"z"', 'mapa', 'z', 'z', 'z'] # Lista alterada 1 "z" "z" z z z # Na conversão não é alterado
Process finished with exit code 0
#### Gravação no arquivo de texto:
1 "z" "z" z z z # Sem alteração.
Fiz testes com o IDLE nativo do python 3.4.1, volta um erro.
branco = '' numero = '1' server = 'z' cliente = 'z' zen = 'z' level = 'z' gate = 'z' move = (branco.rjust(4) + numero.ljust(9) + '"{}"'.format(server).ljust(20) + '"{}"'.format(cliente).ljust(21) + zen.ljust(10) + level.ljust(9) + gate) SyntaxError: multiple statements found while compiling a single statement # Surge este erro, não consigo nem ver o resultado
>>> move = move.join(lista) >>> move # Aqui sai uma bagunça só '1 1 "z" "z" z z z"z" 1 "z" "z" z z zmapa 1 "z" "z" z z zz 1 "z" "z" z z zz 1 "z" "z" z z zz'
Pior que gravando em um arquivo de texto através do terminal, imprimi exatamente aquela bagunça, já no pycharm ele imprimi apenas a linha sem alteração.
Tentei criar outra variável e jogar a lista para dentro dela em vez da variável move e também não funciona
Em 3 editores o resultado é diferente, realmente não sei onde está o erro porque testei conversão de string para lista, trocar valor e retornar para string e deu certo, já gravando não deu certo.
A diferença que no terminal tive que criar variável por variável e depois jogar tudo para a variável mestre, senão virava uma tupla se declara-se a variável com todos os valores.
Pergunta
Acneto
Boa tarde.
Na criação de um arquivo editável estou tendo alguns problemas.
Código:
Saida no pyCharm:
Fiz testes com o IDLE nativo do python 3.4.1, volta um erro.
No terminal do linux:
Pior que gravando em um arquivo de texto através do terminal, imprimi exatamente aquela bagunça, já no pycharm ele imprimi apenas a linha sem alteração.
Tentei criar outra variável e jogar a lista para dentro dela em vez da variável move e também não funciona
Em 3 editores o resultado é diferente, realmente não sei onde está o erro porque testei conversão de string para lista, trocar valor e retornar para string e deu certo, já gravando não deu certo.
A diferença que no terminal tive que criar variável por variável e depois jogar tudo para a variável mestre, senão virava uma tupla se declara-se a variável com todos os valores.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.