Python Subprocess
Uma dica simples!!
O módulo subprocess lhe permite gerar novos processos, e obter os seus códigos de retorno. Este módulo pretende substituir vários outros módulos e funções mais antigas, tais como:
os.system
os.spawn *
os.popen *
popen2 .*
comandos .*
Neste pequeno exemplo, vou mostrar como compactar vários arquivos com o comando zip sendo chamado pelo móduoo subprocess.
1° Digamos que você tenha uma lista dos arquivos que serão “zipados”, esta lista pode vir do banco ou de outra forma dependendo de cada situação:
#lista dos arquivos que serão compactados li=["generic.html", "generic.json", "generic.xml"] #caminho dos arquivos que serão compactados path="/home/user/sites/seu_site/diretorio_dos_arquivos/" import os # monta o caminho completo para cada arquivo li=[os.path.join(path,item) for item in li] import subprocess # comando que será utilizado no subprocess, nele passamos uma lista contendo o comando ["zip", "nome_do_arquivo_destino"] cmd=["zip", "generic.zip"] # adiciona o comando do subprocess à lista de arquivos cmd.extend(li) # finalmente passa este comando para ser executado pelo subprocess.call() subprocess.call(cmd)
3 comments