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
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
isso lê o arquivo inteiro pra memória :(
ResponderExcluiruma 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