Python + arquivo texto .txt

18/10/2015

27

É possivel uma integração do Python com arquivos .txt, não achei nada a respeito, não quero me adiantar mas queria saber para ter uma base.
Responder

Post mais votado

19/10/2015

Olha talvez eu não seja a melhor pessoa para ajudá-lo, pois ja fazem anos que trabalhei com Python.

Mas a respostas é sim.

Que me lembre os comandos são:

>>> arquivo = open('meuarq.txt', 'r') --> Abre somente leitura
>>> arquivo.read() --> Retorna todo arquivo em uma string
>>> arquivo. readlines() -->  Retorna todo arquivo em uma lista de strings

>>> arquivo = open('meuarq.txt', 'w') --> Abre para gravação
>>> arquivo.write('Este texto será gravado!') --> Grava texto

>>> arquivo.close() --> Fecha o arquivo


Pode ocorrer algum erro de sintaxe, pois não tenho o Python instalado no note que estou usando no momento.
Então qualquer erro por favor releve. kkk
Responder

Mais Posts

19/10/2015

Lucas Leitão

Obrigado mas,
Com
>>>
ou sem?
Responder
Obrigado mas,
Com
>>>
ou sem?

Lucas... isso é notação de escrita.
Quando vc abre o python na linha de comando aparece

>>>


Quando abre apenas a linha de comando do windows
>


Quando abre a linha de comando do linux
$


Não sei se ficou claro, mas isso é uma notação para que saiba que o código apresentado será executado em linha de comando ou nao e uma forma rápida de identificar qual linha de comando a pessoa utilizou.
Responder

08/01/2016

Lucas Leitão

Será relevado!!! kkkkkk
Já ta com erro! kkkkkk

Mas vamos lá, esse arquivo vai ser criado ou já deve está criado?
Responder

21/01/2016

Lucas Leitão

Jothaz???
Responder

22/01/2016

Jothaz

Os comandos par manipular um TXT são os comandos abaixo e somente eles.

>>> arquivo = open('meuarq.txt', 'r') --> Abre somente leitura
>>> arquivo.read() --> Retorna todo arquivo em uma string
>>> arquivo. readlines() -->  Retorna todo arquivo em uma lista de strings
 
>>> arquivo = open('meuarq.txt', 'w') --> Abre para gravação
>>> arquivo.write('Este texto será gravado!') --> Grava texto
 
>>> arquivo.close() --> Fecha o arquivo


Vai da criatividade e capacidade do desenvolvedor adaptá-los as necessidades do cenário envolvido.
Em Phyton você aprende a programar de verdade ou passa vergonha. kkk

Segue um exemplo de como usar os comando acima para manipular um TXT. No exemplo temos os comandos básico que podem ser alterados e adaptados de acordo com a sua necessidade.
Como tem anos que não programava em Phyton pode se que exista uma forma mais elegante, mas com certeza funciona.


#Criar arquivo TXT
def criar_arquivo(arq):	
    with open(arq, "a") as f:
         f.close()


#Contar linhas de um arquivo TXT
def contar_linhas_arquivo(arq):
    with open(arq, 'r') as f:
         t = len(f.readlines())
         f.close()
         return(t)


#Listar conteúdo de um arquivo TXT
def listar_arquivo(arq):
    with open(arq, 'r') as f:
         r = f.read()
         print('Conteúdo do arquivo:')
         print(r)


#Gerar Array a partir de TXT
def txt_para_array(arq):

    print('Lista conteúdo TXT em Array:')
    with open(arq, 'r') as f:
         c = f.read()
         valores = c.split('\n')         
         for e in valores:
             print(e)

         print('Total linhas Array', (len(valores) - 1))


#Abrir TXT Append Mode e grava uma linha
def gravar_arquivo(arq,t):         
    with open(arq, "a") as f:

         #Grava uma linha no TXT
         f.write(str(t) + ' - Appended text\n')
         f.close()

   
#Processa arquivo TXT incluindo uma linha        
def processar_arquivo(arq):
    
    #Verifica se arquivo existe, se não exitir cria
    try:

       #Se arquivo existir conta o número de linhas
       with open(arq, 'r') as f:
            print('Arquivo já existe!\n')
            t = contar_linhas_arquivo(arq) + 1
		
    except IOError:
        
           #Se arquivo não existir Cria o arquivo 
           print('Arquivo nãoexiste - Criado!\n')
           criar_arquivo(arq)
           t = 1

    #Abrir TXT Append Mode e grava uma linha 	
    gravar_arquivo(arq,t)

    #Lista o conteúdo do TXT     
    listar_arquivo(arq)

    #Contar linhas de um arquivo TXT
    print('Total Linhas:', contar_linhas_arquivo(arq),'\n')

    txt_para_array(arq)

    
#Define o caminho do arquivo usado    
arq = 'D:\\temp\\Phyton\\teste.txt'

#Processa o arquivo acima e inclui uma linha
processar_arquivo(arq)
Responder

22/01/2016

Lucas Leitão

Jothaz, te peço desculpas por simplesmente escrever "?????" é que o post desce bastante com o passar dos dias e nem sempre quem ajuda no forum lembra do que respondeu, ok.
Responder

22/01/2016

Jothaz

Entendo perfeitamente e não me incomodo com isto.

Como já disse outras vezes não sou a pessoa mais indicada para ajudar, pois estou totalmente enferrujado em Phyton, mas ajudo na medida do possível.

O exemplo foi proveitoso?
Responder

22/01/2016

Lucas Leitão

Obrigado pela compreensão!

Vou testar ainda. retorno se deu certo ou não.
Responder

22/01/2016

Lucas Leitão

Jothaz, olhei os códigos com calma, neles, não é necessario informar o caminho do arquivo?
Responder

22/01/2016

Jothaz

Jothaz, olhei os códigos com calma, neles, não é necessario informar o caminho do arquivo?


Dá uma olhada pois fixei o nome, como era somente um teste:

#Define o caminho do arquivo usado    
arq = 'D:\temp\Phyton\teste.txt'



Você altera de acordo com sua necessidade ou faça via input, ai fica a seu critério.
Responder

22/01/2016

Edson Venancio

Sintaxe legal essa do Phyton, breve brincarei com ele..
Responder

23/01/2016

Lucas Leitão

Valeu Jothaz.

Edson, é legal, achei diferente muita coisa que vi.
Responder

14/07/2017

Rodolfo Matos

Pessoal, boa noite
Sabem se é possível colar alguma imagem em um arquivo .docx criado?
Responder

14/07/2017

Rodolfo Matos

Pessoal, boa noite
Sabem se é possível colar alguma imagem em um arquivo .docx criado?
Responder

04/10/2017

Marcelo Silva

Olá, alguém sabe os códigos dessas questões?

A 2, 3 e 4 tem que usar protocolo TCP.

1. Escreva um programa que implemente uma calculadora remota. O usuário digitará
dois números reais e em seguinte visualizará um menu com as opções para escolher,
entre elas, realizar soma, subtração, multiplicação, divisão e potência. Após, digitar
sua escolha as informações serão enviados para um servidor que será responsável
por receber esses dados realizar a operação desejada e enviar a reposta para o
cliente. Recebendo a resposta, o cliente deverá imprimir o resultado na tela.
OBS: Use o módulo struct para empacotar/desempacotar os dados a serem
enviados e o protocolo UDP na camada transporte.
2. Escreva um programa cliente que leia o nome de um produto e os preços dele em
duas lojas diferentes e envie tais informações para um servidor que armazene esses
dados em um arquivo. A quantidade de produtos que serão cadastrados deverá ser
digitada previamente pelo usuário no seu programa cliente e enviada para o servidor,
assim, este também estará ciente de quantos produtos deverão ser armazenados.
3. Escreva um programa cliente que receba de um servidor os dados do arquivo gerado
na questão anterior. Assim, o cliente receberá do servidor o nome e os preços de
cada produto e mostrará na tela essas informações como indicado abaixo para cada
produto, calculando o que for necessário.
Nome do Produto: <nome do produto aqui>
Preços nas Duas Lojas: <preço 1 aqui> <preço 2 aqui>
Preço Mais Barato do Produto: <preço mais barato aqui>
Preço Mais Caro do Produto: <preço mais caro aqui>
Preço Médio do Produto: <média aritmética dos dois preços aqui>
-----------------------------------------------------------
4. Faça um programa para cadastrar as vendas de uma determinada loja em um arquivo
gerenciado por um servidor. O programa servidor deve armazenar vários registros de
venda, sendo cada um formado pelo código da venda (inteiro), o valor da venda
(real), o dia da venda (inteiro), o mês da venda (inteiro) e o ano da venda (inteiro).
Escreva um programa cliente que mostre o seguinte menu de opções ao usuário e
execute a ação de acordo com a opção escolhida.
Escolha sua opção:
0 – Sair do programa
1 – Cadastrar uma venda
2 – Mostrar uma venda a partir de seu código
>>
Veja as instruções abaixo:
O menu deve repetir continuamente até que o usuário digite a opção 0 para sair.
Quando o usuário digitar uma opção inválida, o programa também deve
informar e mostrar novamente o menu;
Se o usuário escolher a opção 1, seu programa deve solicitar que ele digite o
código da venda (inteiro), o valor da venda (real), o dia da venda (inteiro), o mês
da venda (inteiro) e o ano da venda (inteiro), para depois enviar os dados ao
servidor que os gravará no arquivo;
Se o usuário escolher a opção 2, seu programa deverá solicitar que ele digite o
código da venda e, em seguida, enviará o código ao servidor que responderá
com os dados da venda. O cliente então mostrará todos os dados da venda
recebida.
Responder