Execute o comando wine a partir do python

0

Eu tenho o Apache que serve um serviço da web com um script python. Eu tento executar um comando WINE do python, mas nada acontece ...

command1 = 'dir > test.txt'
command2 = 'wine someexecutable.exe inputfile outpufile'
p = subprocess.call(command1, shell=True)
p = subprocess.call(command2, shell=True)

O comando1 é normalmente executado e recebo um arquivo test.txt. Parece que o comando2 não é executado em todos os ... Se eu executá-lo manualmente a partir do shell com o usuário www-data, o comando2 exectues e eu recebo o arquivo de saída - > %código%. Existe algo para configurar para permitir que o Python execute comandos de vinho?

    
por Daniel 08.10.2013 / 15:45

3 respostas

0

A sintaxe está geralmente correta, mas você precisa dar ao Wine um caminho mais explícito para o seu executável. Você pode ver o que está acontecendo no erro de retorno:

>>> subprocess.call("wine someexecutable.exe inputfile outpufile", shell=True)
wine: cannot find L"C:\windows\system32\someexecutable.exe"
    
por Oli 08.10.2013 / 15:54
0

O código a seguir deve funcionar, desde que o vinho está instalado corretamente:

subprocess.call("./filename.exe", shell=True)

Consegui que funcionasse sem ligar diretamente para o vinho, espero que o mesmo funcione para você.

    
por James 01.10.2017 / 18:38
-1

Tente isto:

import commands

command1 = 'dir > test.txt'
command2 = 'wine someexecutable.exe inputfile outpufile'

cmd1 = commands.getoutput(command1)
cmd2 = commands.getoutput(command2)

Observação : às vezes, o buffer do SO pode ser preenchido com a saída redirecionada para um canal, portanto, tente o módulo de comandos em vez do subprocesso para essa tarefa!

    
por Python Student 13.10.2013 / 16:09