Python subprocesso dá OSError: [winError 193]% 1 não é uma aplicação Win32 válida

votos
0

Eu estou escrevendo um script python que precisa chamar um script bash. O script python contém variáveis a1e a2que precisam ser passados como argumentos para o script bash. Eu importados subprocesse estou executando-lo assim:

subprocess.check_call( [./test.sh, a1, a2], shell=False)

mas eu estou recebendo um erro desta linha que

OSError: [winError 193]% 1 não é uma aplicação Win32 válida. O que eu deveria fazer diferente?

Publicado 20/09/2018 em 04:08
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Se você tem 'Bash no Ubuntu no Windows' você pode chamar seu script como este:

subprocess.check_call( ['bash', '-c', './test.sh', a1, a2], shell=False)

Para ter esse recurso no Windows, você precisa do Windows 10 e você pode seguir as instruções em este link .

De um modo geral, mesmo em máquinas UNIX Esta será uma abordagem melhor (embora na maioria deles .sh arquivos só vai executar, sem executá-los explicitamente no bash)

Respondeu 20/09/2018 em 04:13
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more