Mais

Problema de memória? O processamento do qgis python não foi concluído


Eu tenho um processo simples para fazer algumas edições em todos os arquivos de contorno em um diretório. Ele funciona bem no teste de 100 arquivos estranhos, mas em um diretório com cerca de 500, ele pára após cerca de 120 arquivos.

Existe alguma maneira de liberar memória após o processamento de cada arquivo?

processamento de importação, os, glob path = r'F:  Input  Contours  25_cm 'outdir = r'F:  Output  Contours' os.chdir (caminho) para o arquivo em glob.glob ("*. TAB"): filename = file [: - 4] processing.runalg ("modeler: contour_edits", filename + ". tab", outdir + " contour_5m " + filename + "_ 5m.tab", outdir + " contour_25cm " + filename + ".tab", outdir + " contour_1m " + nome do arquivo + "_ 1m.tab")

ATUALIZADA ---

processamento de importação, os, glob, gc gc.enable path = r'F:  Douglas  Input  Contours  25_cm 'outdir = r'F:  Douglas  Output  Contours' os.chdir (caminho) para o arquivo em glob. glob ("*. TAB"): filename = file [: - 4] processing.runalg ("modeler: contour_edits", filename + ". tab", outdir + " contour_5m " + filename + "_ 5m.tab", outdir + " contour_25cm " + nome do arquivo + ". tab", outdir + " contour_1m " + nome do arquivo + "_ 1m.tab") gc.collect () imprimir nome do arquivo

Saída do console

{u'OUTPUT_LAYER_ALGQGISFIELDCALCULATOR_1 ':' F: Douglas Output Contours contour_25cm pt000443_contour.tab ', u'OUTPUT_ALGQGISEXTRACTBYATTRIBUTE_2': 'F: Douglas Output Contours contour_25cm pt000443_contour.tab', u'OUTPUT_ALGQGISEXTRACTBYATTRIBUTE_2 ':' F: Douglas Output Contours contour_1m pt000443_contour.tab ' 'F: Douglas Output Contours contour_5m pt000443_contour_5m.tab'} pt000443_contour 107 {u'OUTPUT_LAYER_ALGQGISFIELDCALCULATOR_1 ':' F: Douglas Output Contours contour_25cm pt001062_contour_25cm pt001062_contour_25cm pt001062_contour_TRALQTRAT_2, FUTPUTPUTE_ALGQGISFIELDCALCULATOR_1 ':' F: Douglas Output Contours contour_25cm pt001062_contour_25cm pt001062_contour_TRALQTRAT_2, u'OUTPUT_Contour.tabUT ' Douglas Output Contours contour_1m pt001062_contour_1m.tab ', u'OUTPUT_ALGQGISEXTRACTBYATTRIBUTE_1': 'F: Douglas Output Contours contour_5m pt001062_contour_5m.tab'} pt001062_contour 107106310… pt001062_contour 107106310… pt001062_contour 1076410

Quando divido os arquivos em lotes de 30 em um diretório e executo isso, funciona bem; quando o lote é 50, ele falha. Se eu executá-lo sem primeiro reiniciar o qgis (não apenas a janela do python), ele processa os primeiros 30 e pode processar alguns dos arquivos menores dos próximos 30, mas não todos eles. Então eu realmente acho que é um problema de memória ???


Assista o vídeo: QGIS - Resolvendo erros mais comuns - Aula 08: Arquivos CSV (Outubro 2021).