Ho uno script python che utilizza il sottoprocesso:Windows - correndo .py direttamente vs esecuzione pitone blah.py comporta in modo diverso
import subprocess
print "Running stuff"
subprocess.check_call(["do_stuff.bat"])
print "Stuff run"
Se questo è stato chiamato blah.py, e corro (dal prompt dei comandi) :
Otterrò l'output da do_stuff.bat (o qualsiasi altra cosa venga eseguita).
Se questo viene eseguito come:
blah.py
Allora io non capisco uscita dal do_stuff.bat, solo le istruzioni di stampa.
Finora visto su Windows Server 2003. Python versione 2.5.2 (bloccato lì per vari motivi). Guardando il associata all'azione tipo di file che vedo:
Python.File = "C: \ Python25 \ python.exe" "% 1" % *
Così qualcuno può spiegare la differenza?
vorrei azzardare un'ipotesi e dire che python esplicitamente chiamando rende lo standard terminale di fuori, mentre solo chiamando il file tubi standard fuori da qualche altra parte. Non posso confermare questo sospetto. – Exelian
Su un windows 7 64 bit che esegue l'output di Python 2.6.6 da un batch viene stampato su uno schermo dopo aver chiamato blah.py da solo. – Helbreder
Sul mio Windows 7 a 32 bit con Python 2.6.6 non posso riprodurlo. –