subprocess.Popen("caminho do arquivo .bat")

1. subprocess.Popen("caminho do arquivo .bat")

FABIO DE OLIVEIRA MARTINS
ofioneu

(usa Outra)

Enviado em 09/09/2019 - 11:53h

Bom dia a todos!

Quero executar um bat no windows via um script python

Encontrei esse code: 


import subprocess 
subprocess.Popen("caminho do arquivo bat")

Quero deixar a coisa dinâmica e por isso quero colocar esse caminho em um arquivo.txt, pois então leio o caminho do txt e passo esse caminho em uma variável no comando do subprocess.Popen().

Problema, o comando subprocess.Popen() espera um string, não uma variável (eu acho ...), pois fiz os testes colocando diretamente o caminho e funciona, mas quando eu passo a variável que já está no formato string não funciona.

Adendos: A variável que quero passar como caminho trás o caminho contido no txt, isso já está funcionando.

Como fazer com que a variável seja passada nessa função do subprocess.Popen()?


  


2. Re: subprocess.Popen("caminho do arquivo .bat")

Matheus
pylm

(usa Gentoo)

Enviado em 09/09/2019 - 12:57h

Testei aqui e foi sem problemas.


#!/usr/bin/env

import subprocess
txt = open('arquivo', 'r')
processo = txt.read().strip()

subprocess.Popen(processo)





3. Re: subprocess.Popen("caminho do arquivo .bat")

FABIO DE OLIVEIRA MARTINS
ofioneu

(usa Outra)

Enviado em 09/09/2019 - 13:22h

No seu arquivo está escrito com aspas, sem aspas, aspas duplas?


4. Re: subprocess.Popen("caminho do arquivo .bat")

Matheus
pylm

(usa Gentoo)

Enviado em 09/09/2019 - 13:32h


ofioneu escreveu:

No seu arquivo está escrito com aspas, sem aspas, aspas duplas?


Sem aspas.




5. Re: subprocess.Popen("caminho do arquivo .bat")

FABIO DE OLIVEIRA MARTINS
ofioneu

(usa Outra)

Enviado em 09/09/2019 - 13:36h

Obrigado!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Coloquei aspas duplas arquivo e funcionou!!
Ex: "C:\caminho"



  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts