commands
está obsoleto e deve ser substituído por subprocess
chamadas. Um substituto para commands.getoutput()
é subprocess.Popen().communicate()
:
import subprocess
import shlex
command = shlex.split('/bin/ls -l -a -h')
process = subprocess.Popen(command, stdout=subprocess.PIPE)
stdout, stderr = process.communicate()
bandit
provavelmente ainda causará um problema de baixa gravidade porque você ainda usa subprocess
, que não é seguro, como qualquer coisa que invoque um shell, mas isso é inevitável. Veja o aviso restante como um lembrete sobre uma insegurança potencial em seu código - dependendo do que você está realmente chamando em um shell, você tem que fazer a verificação você mesmo - é um comando codificado em uma constante de string, ou uma entrada do usuário, ou algo variável dependendo do código de chamada? Em qualquer caso, é sempre aconselhável fazer a higienização, o Python tem o pipes
module para isso. / p>