Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Hugo Baur

Manipulando arquivos

Recommended Posts

Pessoal,

To com uma dificuldade aqui de manipular arquivos.

Objetivo: Eu estou desenvolvendo um script que precisa criar pastas e copiar arquivos de uma origem, o script lê do usuário o numero de meses para criação. O script replica os arquivos igual o numero de meses a serem criados, se for 2017 preciso alterar uma string em um arquivo de .txt dentro do diretório.

String original dentro do arquivo: ANO INICIO DO ESTUDO 2016

String que deve ser alterada: ANO INICIO DO ESTUDO 2017

PS: O arquivo a ser alterado não é o de origem e sem a cópia

É possivel alterar uma linha de um arquivo txt?

O que eu preciso:

  1. Programa leia arquivo de origem e jogue para um array
  2. identificar uma parte de uma string dentro do array
  3. modificar a string caso seja encontrada a parte da string
  4. deletar o arquivo de origem e escrever outro com o mesmo nome, ou simplesmente alterar uma string (uma palavra em uma linha) dentro do arquivo de origem.

FILENAME_NEWAVE = Path do arquivo origem

STRING_DGER = String a ser procurada

FILE_DATE = Ano

Isso não está funcionando, está escrevendo no arquivo de origem.

def find_word_in_file_dger(FILENAME_NEWAVE, STRING_DGER, FILE_DATE):
    f = open(FILENAME_NEWAVE, "r+")
    file_array = f.readlines()
    for i in file_array:
        if i.find(STRING_DGER.encode('utf-8')):
            f.write(i)
        else:
            print ("TO LENDO O ARRAY")
            if FILE_DATE == "2016":
                continue
            else:
                #string_dger = find_word_in_file_dger(origemNewave + "/DGER.dat", "ANO INICIO DO ESTUDO ")
                i.replace(STRING_DGER, "ANO INICIO DO ESTUDO " + FILE_DATE)
                f.write(i)
                print("TO ESCREVENDO A LINHA CORRETAMENTE MLK!! ")
            return i
    f.close()
    return False

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.