segunda-feira, 26 de abril de 2010

python - copiando arquivos de forma simples

copia o conteudo de um arquivo para outro.

def copiar(mecopia, votecopiar):
    mecopia1 = open(mecopia, "r")
    votecopiar1 = open(votecopiar, "w")
    while 1:
        texto = mecopia1.read()
        if texto == "":
            break
        votecopiar1.write(texto)
    mecopia1.close()
    votecopiar1.close()
    return

Um comentário:

  1. isso lê o arquivo inteiro pra memória :(

    uma idéia melhor seria:

    with open(mecopia, 'rb') as fread: with open(votecopiar, 'wb') as fwrite: shutil.copyfileobj(fread, fwrite)

    o shutil.copyfileobj() le o arquivo pedaço por pedaço... e o with já fecha os arquivos

    ResponderExcluir