[AJUDA == PASSAR UMA LISTA PARA ARQUIVO .TXT] [RESOLVIDO]

1. [AJUDA == PASSAR UMA LISTA PARA ARQUIVO .TXT] [RESOLVIDO]

Roberto
mrx6s0

(usa Ubuntu)

Enviado em 05/12/2016 - 11:53h

OLá!

Estou fazendo um programa que se conecta à um site para ficar constantemente atualizado, logo, eu preciso passar as listas que são transferidas via terminal, para .txt, diretamente. Sem salvar o conteúdo que saiu no terminal.

Automatizar ao máximo,,,, estou utilizando o método append para capturar as listas.

Há alguma função mais recomendada para esse tipo de coisa? A lista contem 20 dados por vez, mais ou menos.


Paz à todos!



  


2. Re: [AJUDA == PASSAR UMA LISTA PARA ARQUIVO .TXT] [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 05/12/2016 - 12:33h

Não entendi muito bem, poderia dar um exemplo?





______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/


3. Re: [AJUDA == PASSAR UMA LISTA PARA ARQUIVO .TXT] [RESOLVIDO]

Roberto
mrx6s0

(usa Ubuntu)

Enviado em 05/12/2016 - 12:51h

ctw6av escreveu:

Não entendi muito bem, poderia dar um exemplo?





______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/



Certamente.

Essa é a parte em que defino as listas:

     
num = []

for i in range(9):
num.append(randint(0, 9))

somaJ = sum([(num[0] * 10),
(num[1] * 9),
(num[2] * 8),
(num[3] * 7),
(num[4] * 6),
(num[5] * 5),
(num[6] * 4),
(num[7] * 3),
(num[8] * 2)])

restoJ = somaJ % 11

if (restoJ == 0 or restoJ == 1):
j = 0
else:
j = 11 - restoJ

num.append(j)

somaK = sum([(num[0] * 11),
(num[1] * 10),
(num[2] * 9),
(num[3] * 8),
(num[4] * 7),
(num[5] * 6),
(num[6] * 5),
(num[7] * 4),
(num[8] * 3),
(j * 2)])

restoK = somaK % 11

if (restoK == 0 or restoK == 1):
k = 0

else:
k = 11 - restoK

num.append(k)

return ''.join(str(x) for x in num)


o arquivo é extraído da página web, e é apresentado via terminal apenas. Preciso ao invés de ter esses valores passados apenas no terminal, que também seja indexado um arquivo .txt, em que essas informações serão alocadas.


4. Re: [AJUDA == PASSAR UMA LISTA PARA ARQUIVO .TXT] [RESOLVIDO]

Roberto
mrx6s0

(usa Ubuntu)

Enviado em 05/12/2016 - 12:58h

Agora preciso que os dados que foram capturados sejam automaticando 'transformados' em .txt.

Ou seria mais simples extrair pelo terminal, e então


###
                                  
arq = open('/lista.txt', 'r')
texto = arq.readlines()
for linha in texto :
print(linha)
arq.close()



entendeste? :)

abraço


5. Re: [AJUDA == PASSAR UMA LISTA PARA ARQUIVO .TXT]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 05/12/2016 - 13:29h

Se sua função retorna dados então escreva os dados e logo em seguida imprima-os na tela. Ex:
def return_func():
""" Retorna uma frase simples mas que poderia ser qualquer objeto """
return 'Olá, sou uma frase!'

with open('/root/lists.log', 'a+') as log:
log.write(return_func() + '\n')
print(return_func())



Vai sair na tela e no arquivo, depois é só ir em /root/list.log e ver o log!


______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/


6. Re: [AJUDA == PASSAR UMA LISTA PARA ARQUIVO .TXT] [RESOLVIDO]

Roberto
mrx6s0

(usa Ubuntu)

Enviado em 05/12/2016 - 18:42h

ctw6av escreveu:

Se sua função retorna dados então escreva os dados e logo em seguida imprima-os na tela. Ex:
def return_func():
""" Retorna uma frase simples mas que poderia ser qualquer objeto """
return 'Olá, sou uma frase!'

with open('/root/lists.log', 'a+') as log:
log.write(return_func() + '\n')
print(return_func())



Vai sair na tela e no arquivo, depois é só ir em /root/list.log e ver o log!


______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/




Se sua função retorna dados então escreva os dados e logo em seguida imprima-os na tela


bom, como assim escrever os dados? eles vao ser gerados automaticamente, eu não mexo neles. nem os escrevo, apenas uso a função da api para tal.
então, eu devo colocar essa função logo após eu declarar a função que busca as informações? pois se colocar antes, logicamente não fará sentido.

abraço


7. Re: [AJUDA == PASSAR UMA LISTA PARA ARQUIVO .TXT] [RESOLVIDO]

Roberto
mrx6s0

(usa Ubuntu)

Enviado em 05/12/2016 - 19:34h

Amigo, surgiu esse erro ao tentar executar, com as mudanças feitas no código:

 
log.write(return_func() + '\n')

TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'


help me/?!? heh


8. Re: [AJUDA == PASSAR UMA LISTA PARA ARQUIVO .TXT]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 05/12/2016 - 20:45h

Creio que o primeiro pedaço de código que você me passou seja uma função já que estava retornando um valor, certo?
Se não quiser imprimir os dados, simplesmente remova o print() do código e deixe o object.write() para escrever no arquivo. Agora imagine que as funções a seguir são as suas:
def return_func():
""" Retorna uma frase simples mas que poderia ser qualquer objeto """
return 'Retornando uma string dá certo!'

def return_none():
""" Retorna o valor None """
return None

with open('/root/lists.log', 'a+') as log:
try:
log.write(return_func() + '\n')
print(return_func())

log.write(return_none() + '\n') # Parte onde o erro acontece!
print(return_none())
except TypeError:
print('Retornando None não dá certo!')

Temos duas funções, uma retorna uma string (como a sua) e a outra retorna o tipo None do Python (que gera o tal erro) que supostamente sua função está retornando.
Há várias formas para corrigir isso e a mais fácil é a da forma acima levantando uma exceção. Outra forma é usar o built-in str()
Ex:
log.write(str(return_none()) + '\n')  # Parte onde o erro acontece! 

Ou até mesmo um simples if. Ex:
if return_none() is None:
log.write('lista vazia\n')

Desculpe se te confundi, é que eu não sei explicar bem as coisas. Se quiser mandar o código pelo pastebin ou no e-mail eu estarei a disposição para ajudar.



______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/


9. Re: [AJUDA == PASSAR UMA LISTA PARA ARQUIVO .TXT] [RESOLVIDO]

Roberto
mrx6s0

(usa Ubuntu)

Enviado em 05/12/2016 - 23:29h

ctw6av escreveu:

Creio que o primeiro pedaço de código que você me passou seja uma função já que estava retornando um valor, certo?
Se não quiser imprimir os dados, simplesmente remova o print() do código e deixe o object.write() para escrever no arquivo. Agora imagine que as funções a seguir são as suas:
def return_func():
""" Retorna uma frase simples mas que poderia ser qualquer objeto """
return 'Retornando uma string dá certo!'

def return_none():
""" Retorna o valor None """
return None

with open('/root/lists.log', 'a+') as log:
try:
log.write(return_func() + '\n')
print(return_func())

log.write(return_none() + '\n') # Parte onde o erro acontece!
print(return_none())
except TypeError:
print('Retornando None não dá certo!')

Temos duas funções, uma retorna uma string (como a sua) e a outra retorna o tipo None do Python (que gera o tal erro) que supostamente sua função está retornando.
Há várias formas para corrigir isso e a mais fácil é a da forma acima levantando uma exceção. Outra forma é usar o built-in str()
Ex:
log.write(str(return_none()) + '\n')  # Parte onde o erro acontece! 

Ou até mesmo um simples if. Ex:
if return_none() is None:
log.write('lista vazia\n')

Desculpe se te confundi, é que eu não sei explicar bem as coisas. Se quiser mandar o código pelo pastebin ou no e-mail eu estarei a disposição para ajudar.



______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/



Amigo, lhe passarei o código para você analisar

Vou mandar-lhe o link do paste bin nas mensagens

Abraço, e muito obrigado!



10. Re: [AJUDA == PASSAR UMA LISTA PARA ARQUIVO .TXT] [RESOLVIDO]

Roberto
mrx6s0

(usa Ubuntu)

Enviado em 06/12/2016 - 04:13h

Está lá!!!


11. Re: [AJUDA == PASSAR UMA LISTA PARA ARQUIVO .TXT] [RESOLVIDO]

Roberto
mrx6s0

(usa Ubuntu)

Enviado em 06/12/2016 - 13:18h

Pastebin detectou o código como malicioso, por isso impediu a visualização, lhe mandei diretamente no e-mail!


12. Re: [AJUDA == PASSAR UMA LISTA PARA ARQUIVO .TXT] [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 06/12/2016 - 13:25h

Ok vou checar agora.





______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts