Ho il seguente codicePython Popen Impossibile trovare il file specificato
pathToFile = "R:\T2 Output\12345--01--Some File 1--ABCD.mp4"
process = subprocess.Popen(['ffprobe.exe', '-show_streams', '"'+pathToFile+'"'],
shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
ottengo l'errore:
[Error 2] The system cannot find the file specified
Quello che ho cercato:
- Cambiare shell = True per shell = False
- Combinare il comando in una stringa singola invece di utilizzare una lista (I even pri nto su schermo, e posso copiare e incollare in un prompt dei comandi dove il file viene eseguito e fornisce l'output previsto (nessun errore)
- Mi sono accertato che ffprobe.exe si trovi nel PERCORSO e possa essere eseguito dal comando linea senza specificare una directory
cose da notare:
- il file si trova in un'unità di rete mappata (R)
- il file ha spazi nel nome del file, è per questo che lo circondava da citazioni.
Sono sicuro che mi manca qualcosa di semplice. Qualcuno può indicarmi la giusta direzione? Ho fatto un sacco di ricerche su questo sito e su altri e ho provato suggerimenti.
oltre a fughe di backslash nella stringa, si dovrebbe cadere citazioni inutili ' '"' 'intorno' pathtofile 'e rilasciare argomento non necessario' shell = True' nella chiamata 'Popen'. – jfs